Bootstrap

160.相交链表

160.相交链表

思路:

ab两个链表进行拼接抵消长度差

a第一次走完接上b,b第一次走完接上a

最终会同时遍历到末尾

代码:

class Solution {
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
        ListNode* a=headA;
        ListNode* b=headB;
        while(a!=nullptr && b!=nullptr){
            if(a==b)//如果相交
            return a;
            a=a->next;
            b=b->next;
            if(a==nullptr && b==nullptr){ //同时遍历到末尾不相交
                break;
            }
            if(a==nullptr){ //a第一次到头接上b
                a=headB;
            }
            if(b==nullptr){ //b第一次到头接上a
                b=headA;
            }
        }
        return nullptr;
    }
};
;