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

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

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) {
        ListNode* l1=pHead1;
        ListNode* l2=pHead2;
        //l1到了链表末尾,指向pHead2;
        //l2到了链表末尾,指向pHead1;
        while(l1!=l2){
            if(l1!=nullptr){
                l1=l1->next;
            }
            else{
                l1=pHead2;
            }
            if(l2!=nullptr){
                l2=l2->next;
            }
            else{
                l2=pHead1;
            }
        }
        return l1;
    }
};
全部评论

相关推荐

风的叶脉:不知道但我想要鞭打你( '-' )ノ)`-' ) 加油
点赞 评论 收藏
分享
05-12 13:14
已编辑
中山大学 算法工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务