标签:inter ext etc head stat lan 思路 idt 一个
输入两个链表,找出它们的第一个公共节点。
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode *curA = headA, *curB = headB;
while (curA != curB) {
curA = curA == NULL ? headB : curA->next;
curB = curB == NULL ? headA : curB->next;
}
return curA;
}
};
由图可知,两个指针从两个链表头同时开始遍历,到末尾的NULL
后转向另一个链表头,由于a + (b - c) = b + (a - c)
,所以在第二次遍历过程中一定会相遇,此时存在两种情况:
NULL
相遇。标签:inter ext etc head stat lan 思路 idt 一个
原文地址:https://www.cnblogs.com/tmpUser/p/14489452.html