[LeetCode力扣hot100]-链表
- 创业
- 2025-09-02 06:18:01
![[LeetCode力扣hot100]-链表](/0pic/pp_67.jpg)
相交链表
160. 相交链表 - 力扣(LeetCode)
思路就是遍历两个链表,有相同的部分就可以视为相交。
但是长度不一样,比如两个会相交的链表,headA 的长度为 a + c,headB 的长度为 b + c,其中 c 是公共部分的长度。
指针pA遍历完后从headA跳转到headB,pB遍历完headB跳成A。
这样的话最后遍历a+b+c,肯定会最后同时到达相交节点的。
同理不相交的话会遍历a+b,最后会pA=pB=NULL,最后返回空
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if(headA==NULL||headB==NULL){ return NULL; } ListNode *a=headA; ListNode *b=headB;//定义指针 while(a!=b){ if(a==NULL){ a=headB; }else{ a=a->next; } if(b==NULL){ b=headA; }else{ b=b->next; } } return a; } };[LeetCode力扣hot100]-链表由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“[LeetCode力扣hot100]-链表”
上一篇
Node.js入门