兩個鍊錶求第乙個公共交點

2021-10-03 16:44:47 字數 548 閱讀 8615

輸入兩個鍊錶,找出它們的第乙個公共結點。(注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的)

/**

* definition for singly-linked list.

* class listnode

* }*/public

class

solution

listnode meetnode =

meetingnode

(head);if

(meetnode == null)

listnode fast = head;

listnode slow = meetnode;

while

(slow != fast)

return slow;

}//尋找相遇節點,如果無環,返回null

public listnode meetingnode

(listnode head)

}return null;

}}

兩個鍊錶第乙個公共節點

先讓長的鍊錶的指標先走長的之差的步數,兩個再一起走,如果相遇就是第乙個公共節點 如果沒交點,就都走到空 struct listnode class solution while pl2 null 復位指標到頭節點 pl1 phead1 pl2 phead2 int dif len 0 if len1...

鍊錶操作 求兩個鍊錶的第乙個公共節點

牛客 兩個鍊錶的第乙個公共節點 分別求兩個單鏈表的長度,len1 和 len2,計算長度差 len 然後讓長的鍊錶先走 len 步,此時p1 和 p2 鍊錶剩餘長度相同p1 和 p2 同時走,直到 p1 p2 若有共同節點,p1 null,否則 p1 為 null public class solu...

八 求兩個鍊錶的第乙個公共結點

輸入兩個鍊錶,找出它們的第乙個公共結點。一般的思路是找出兩個鍊錶 長度的差值,然後長的先跑完差值,最後和著短的鍊錶一起跑,這樣必然能夠來到第乙個公共結點 但是這裡有個問題,就是不能夠保證這個鍊錶是無環的,如果有環的話,在判斷鍊錶長度差值的時候,因為一直不能得到null,所以會陷入死迴圈。所以可以先判...