剑指offer--44.两个链表的第一个公共结点

@selfboot

牛逼的代码,长度相同,一遍出结果,

长度不同,短的点跑完,变成长的,当长的跑完变成短的链表的时候,较长的链表已经走过了多的结点。

------------------------------------------------------------------------------------------------------------------------

时间限制:1秒 空间限制:32768K 热度指数:185905
本题知识点: 链表

题目描述

输入两个链表,找出它们的第一个公共结点。
class Solution {
public:
    ListNode* FindFirstCommonNode( ListNode *pHead1, ListNode *pHead2) {
        ListNode *p1 = pHead1;
        ListNode *p2 = pHead2;
        while(p1!=p2){
            p1 = (p1==NULL ? pHead2 : p1->next);
            p2 = (p2==NULL ? pHead1 : p2->next);
        }
        return p1;
    }
};

 

posted @ 2019-03-31 12:38  朤尧  阅读(224)  评论(0编辑  收藏  举报