牛逼的代码,长度相同,一遍出结果,
长度不同,短的点跑完,变成长的,当长的跑完变成短的链表的时候,较长的链表已经走过了多的结点。
------------------------------------------------------------------------------------------------------------------------
时间限制: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; } };