美文网首页
【链表】链表中环的入口结点

【链表】链表中环的入口结点

作者: 一个想当大佬的菜鸡 | 来源:发表于2019-08-14 13:41 被阅读0次
# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    def EntryNodeOfLoop(self, pHead):
        # write code here
        hasLoop = self.hasLoop(pHead)
        if hasLoop == None:
            return None
        n = self.nodeNum(hasLoop)
        fast = slow = pHead
        for i in range(n):
            fast = fast.next
        while fast != slow:
            fast = fast.next
            slow = slow.next
        return slow
    def hasLoop(self, pHead):
        if pHead == None or pHead.next == None:
            return None
        slow, fast = pHead, pHead.next
        while fast != None:
            slow = slow.next
            fast = fast.next.next
            if slow == fast:
                return slow
        return None
    def nodeNum(self, pHead):
        p = pHead.next
        n = 1
        while p != pHead:
            p = p.next
            n += 1
        return n

相关文章

  • 剑指offer.C++.code56-60

    56. 链表中环的入口结点 一个链表中包含环,请找出该链表的环的入口结点。 57. 删除链表中重复的结点【基于递归...

  • 链表

    合并排序链表 链表排序 链表中环的入口结点 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出nul...

  • [剑指offer] 链表

    链表中环的入口结点 题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 解题思路:...

  • JZ-055-链表中环的入口结点

    链表中环的入口结点 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。题目链接:...

  • 链表-链表中环的入口结点-java/c++

    链表中环的入口结点 题目描述 一个链表中包含环,请找出该链表的环的入口结点。 思路一: 用map或者set,遍历链...

  • 【链表】链表中环的入口结点

  • 剑指 offer:55、链表中环的入口节点

    55. 链表中环的入口节点 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 ...

  • 链表中环的入口结点

    题目描述:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路:a、第一步,找环中相汇...

  • 链表中环的入口结点

    题目描述一个链表中包含环,请找出该链表的环的入口结点。

  • 链表中环的入口结点

    快慢指针f , s,两指针相遇时,f = 2* s, 设环长度为n,n = s再一个慢指针从链表头开始,两个慢指针...

网友评论

      本文标题:【链表】链表中环的入口结点

      本文链接:https://www.haomeiwen.com/subject/enjgjctx.html