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

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

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

思路1:使用辅助集合,遍历过程中,如果遇到重复出现,既为第一个公共节点
注意:
1、指针为空,代表链表遍历结束
2、此方法也可以用来判断带环链表的入口位置

class Solution:
    def FindFirstCommonNode(self , pHead1 , pHead2 ):
        
        if not pHead1 or not pHead2:
            return
        
        node_set = set()
        p1, p2 = pHead1, pHead2
        
        while p1:
            node_set.add(p1)
            p1 = p1.next
        
        while p2:
            if p2 in node_set:
                return p2
            p2 = p2.next 
        return 
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务