标签:logs title round highlight 用两个 sub 描述 题目 struct
/* 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) { p1=(p1==NULL ? pHead2:p1->next); p2=(p2==NULL ? pHead1: p2->next); } return p1; } };
长度相同有公共结点,第一次就遍历到;没有公共结点,走到尾部NULL相遇,返回NULL
长度不同有公共结点,第一遍差值就出来了,第二遍一起到公共结点;没有公共,一起到结尾NULL。
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { ListNode* p=pHead1; while(p!=NULL){ ListNode* q=pHead2; while(q!=NULL){ if(p==q){ return p; } q=q->next; } p=p->next; } return p; } };
标签:logs title round highlight 用两个 sub 描述 题目 struct
原文地址:http://www.cnblogs.com/dd2hm/p/7395844.html