题解 | #两个链表的第一个公共结点#

两个链表的第一个公共结点

http://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46

struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution {
public:
    ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {
        if(pHead1==nullptr || pHead2==nullptr)
            return nullptr;
        ListNode* cur_pHead1=pHead1;
        ListNode* cur_pHead2=pHead2;
        while(cur_pHead1!=cur_pHead2){
            //if(cur_pHead1!=NULL)
            //   cur_pHead1=cur_pHead1->next;
            //else
            //    cur_pHead1=pHead2;
            cur_pHead1=cur_pHead1?cur_pHead1->next:pHead2;
            
            if(cur_pHead2!=NULL)
                cur_pHead2=cur_pHead2->next;
            else
                cur_pHead2=pHead1;
        }
        return cur_pHead1;
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务