这是leetcode
的解题报告。ARTS
很想加入,但是因为自己懒,本身也做了这些事情,因此就一直都在拖,希望这周能够搞定。
origin
from leetcode
road
相交链表,两个指针分别遍历两个链表即可,具体可以画图来表示,两个链表,一个长度为 a+c,另一个长度为 b+c,两个指针势必会在 a+b+c 的位置相遇。
solution
/** * 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) { ListNode *w1, *w2; w1 = headA; w2 = headB; if (!w1 || !w2) { return NULL; } while (w1 != w2) { if (!w1) w1 = headB; else w1 = w1->next; if (!w2) w2 = headA; else w2 = w2->next; } return w1; } };