双指针法,若两个链表没有交点,则会同时指向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) {ListNode *p1=headA, *p2=headB;while(p1!=p2) {if (p1==NULL) {p1=headB;}else {p1=p1->next;}if (p2==NULL) {p2=headA;}else {p2=p2->next;}}return p1;}};
leedcode通过:
执行用时:28 ms, 在所有 C++ 提交中击败了99.61% 的用户内存消耗:14.2 MB, 在所有 C++ 提交中击败了65.07% 的用户
