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

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

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

双指针写法:借用题解区Dylan的图。

alt

(1)有共同节点的情况:

1->2->3->6->7->4->5->6->7

4->5->6->7->1->2->3->6->7

在6相遇

(2)没有共同节点的情况:{1,2,3},{4,5},{}

1->2->3->4->5

4->5->1->2->3

在None相遇

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

#
# 
# @param pHead1 ListNode类 
# @param pHead2 ListNode类 
# @return ListNode类
#
class Solution:
    def FindFirstCommonNode(self , pHead1 , pHead2 ):
        a=pHead1
        b=pHead2
        
        while a!=b:
            if a!=None:
                a=a.next
            else:
                a=pHead2
            if b!=None:
                b=b.next
            else:
                b=pHead1
        return a##在没有交点的时候,两个链表最后都会出现都是None值
全部评论

相关推荐

01-23 19:12
门头沟学院 Java
榨出爱国基因:你还差 0.1% 就拿到校招礼盒,快叫朋友给你砍一刀吧
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
2024-12-30 22:31
吉首大学 Web前端
小蜗居:看过🟰了解 用过🟰熟悉 学过🟰精通
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务