《剑指Offer》之“两个链表的第一个公共结点”

题目描述


输入两个链表,找出它们的第一个公共结点。

代码实现


/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution {
public:
    ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {
        ListNode* p1 = pHead1;
        ListNode* p2 = pHead2;
        while(p1!=p2){

            if(p1 == NULL){
                p1 = pHead2;
            }
            else{
                p1 = p1-> next;
            }
            if(p2 == NULL){
                p2 = pHead1;
            }
            else{
                p2 = p2->next;
            }
        }
        return p1;
    }
};

猜你喜欢

转载自blog.csdn.net/opooc/article/details/80223834