剑指 Offer 52. 两个链表的第一个公共节点

Posted 孤音x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 52. 两个链表的第一个公共节点相关的知识,希望对你有一定的参考价值。

题目:剑指 Offer 52. 两个链表的第一个公共节点 ,哈哈,我们今天来看一道很简单的题嘛,这是选自剑指 Offer 上的一道题,好了,我们一起来看看题意吧:

考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!
题目传送门: 两个链表的第一个公共节点

思路:

用的双指针做法(个人感觉十分优雅)

我们同时操作两个链表

我们需要考虑两种情况:第一种情况是两个链表相交,第二种情况是两个链表不相交

情况1:两个链表相交时

情况二:两个链表不相交时,分析过程和上面的一样,这里不再重复了

我们来看看成功AC的代码吧:

/**
 * Definition for singly-linked list.
 * struct ListNode 
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) 
 * ;
 */
class Solution 
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) 
        ListNode* A = headA;
        ListNode* B = headB;
        if(headA==NULL||headB==NULL) return NULL;
        while(A!=B)
            A=A==NULL?headB:A->next;
            B=B==NULL?headA:B->next;
        
        return A;
    
;

谢谢你的阅读,由于作者水平有限,难免有不足之处,若读者发现问题,还请批评,在留言区留言或者私信告知,我一定会尽快修改的。若各位大佬有什么好的解法,或者有意义的解法都可以在评论区展示额,万分谢谢。
写作不易,望各位老板点点赞,加个关注!

以上是关于剑指 Offer 52. 两个链表的第一个公共节点的主要内容,如果未能解决你的问题,请参考以下文章

[8月4日]剑指 Offer 52. 两个链表的第一个公共节点

剑指 Offer 52-两个链表的第一个公共节点

剑指 Offer 52. 两个链表的第一个公共节点

剑指 Offer 52. 两个链表的第一个公共节点

算法剑指 Offer 52. 两个链表的第一个公共节点

剑指offer52两个链表的第一个公共节点