【剑指Offer】链表中环的入口结点 解题报告(Python)

【剑指Offer】链表中环的入口结点 解题报告(Python)

标签(空格分隔): 剑指Offer


题目地址:https://www.nowcoder.com/ta/coding-interviews

题目描述:

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

解题方法

就是leetcode的142. Linked List Cycle II题目,使用快慢指针,如果相遇了,那么把一个指针调整到头部,重新开始再相遇即可。

代码:

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    def EntryNodeOfLoop(self, pHead):
        slow, fast = pHead, pHead
        while fast and fast.next:
            fast = fast.next.next
            slow = slow.next
            if fast == slow:
                break
        if not fast or not fast.next:
            return None
        fast = pHead
        while fast != slow:
            fast = fast.next
            slow = slow.next
        return fast

Date

2018 年 3 月 27 日 – 第一次把车开走了,注意离合要慢

posted @ 2018-03-27 21:29  负雪明烛  阅读(30)  评论(0)    收藏  举报