1. 程式人生 > >劍指offer 連結串列中環的入口結點 python

劍指offer 連結串列中環的入口結點 python

題目描述

給一個連結串列,若其中包含環,請找出該連結串列的環的入口結點,否則,輸出null。

樣例

如果有,返回入口節點
如果沒有,返回None

閒話:
之前Leetcode也做過一樣的題,之前用的是快慢節點,如果產生環,快的一定會追上慢的,但是這回看題,完全忘了這個思路,就直接考慮使用字典以節點為鍵,下一個節點為值儲存.

想法一:
使用字典以節點為鍵,下一個節點為值儲存.如果產生環就會返回結點,否則返回None

class Solution:
    def EntryNodeOfLoop(self, pHead):
        if pHead is
None or pHead.next is None: return None d1 = {} while pHead: if pHead in d1: return pHead else: d1[pHead] = pHead.next pHead = pHead.next return None

想法二:
想法二就是快慢結點的方法,想了解這個方法可以訪問我的另一篇部落格


最後

刷過的LeetCode或劍指offer原始碼放在Github上了,希望喜歡或者覺得有用的朋友點個star或者follow。
有任何問題可以在下面評論或者通過私信或聯絡方式找我。
聯絡方式
QQ:791034063
Wechat:liuyuhang791034063
CSDN:https://blog.csdn.net/Sun_White_Boy
Github:https://github.com/liuyuhang791034063