劍指Offer 面試題23 鍊錶中環的入口結點

2021-10-03 00:02:29 字數 685 閱讀 3546

面試題23:鍊錶中環的入口結點

題目:乙個鍊錶中包含環,如何找出環的入口結點?例如,在下圖的鍊錶中,環的入口結點是結點3。

// 先移動 pnode1, 次數為環中節點的數目

pnode1=phead;

for(

int i=

0;i)// 再一起移動pnode1和pnode2

listnode* pnode2=phead;

while

(pnode1!=pnode2)

return pnode1;

}int

main()

劍指offer(面試題23) 鍊錶中環的入口結點

題目 如果乙個單向鍊錶包含環,如何找出環的入口結點。include using namespace std struct listnode 檢查是否存在環 listnode checkcicle listnode phead else return null listnode findcirclee...

劍指Offer面試題23 鍊錶中環的入口節點

給乙個鍊錶,若其中包含環,請找出該鍊錶的環的入口結點,否則,輸出null。解題思路 解決這個問題可以分三步。1 第一步是確定乙個鍊錶中是否包含環。我們可以用兩個指標來解決這個問題。定義兩個指標,同時從鍊錶的頭結點出發,乙個指標一次走一步,另乙個指標一次走兩步。如果走得快的指標追上了走得慢的指標,那麼...

劍指offer 面試題 23 鍊錶中環的入口結點

給定乙個鍊錶,若其中包含環,則輸出環的入口節點。若其中不包含環,則輸出null。給定如上所示的鍊錶 1,2,3,4,5,6 2注意,這裡的2表示編號是2的節點,節點編號從0開始。所以編號是2的節點就是val等於3的節點。則輸出環的入口節點3.definition for singly linked ...