剑指Offer——JZ36.两个链表的第一个公共结点【思维】

题目传送门


在这里插入图片描述


题解

剑指Offer——JZ36.两个链表的第一个公共结点【思维】_第1张图片


AC-Code

/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution {
     
public:
    ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {
     
        auto pa = pHead1, pb = pHead2;
        while(pa != pb) {
     
            pa = pa ? pa->next : pHead2;    // 简化代码,当pa走到尾端的时候,去从b的头开始,相当于在a链表后+b
            pb = pb ? pb->next : pHead1;    // 同理,相当于在b链表后面+a
        }
        return pa;
    }
};

你可能感兴趣的:(剑指Offer)