相交鍊錶解法

2022-07-11 10:30:10 字數 498 閱讀 4201

在面試中被問到這個問題,沒有想出來,遂去leetcode進行檢視,將理解的題解寫在下面

利用兩個臨時的節點遍歷 乙個遍歷a 乙個遍歷b 遍歷完a以後指向b的頭節點開始遍歷 另外乙個反之亦然這是因為此處的相交節點從交點後半段都是相同的設a的長度為a b的長度為b 經過互換頭節點後相交節點前的節點數差異被消除 如果說相交節點的長度a為5,b為3.則消除差異後兩個遍歷指標所在位置到相交節點是相同的,如果沒有交點說明相交的節點為null 在邏輯中已經預設存在

此處是按照本人所理解的,感覺這題有點考邏輯

public class _160_相交鍊錶 

//進行遍歷的兩個節點

listnode a = heada;

listnode b = headb;

while (a != b)

return a;

}}

相交鍊錶解法一

編寫乙個程式,找到兩個單鏈表相交的起始節點。如下面的兩個鍊錶 示例 1 輸入 intersectval 8,lista 4,1,8,4,5 listb 5,0,1,8,4,5 skipa 2,skipb 3 輸出 reference of the node with value 8 輸入解釋 相交節...

約瑟夫問題(鍊錶解法)

編號為 1 n 的 n 個人圍坐在一起形成乙個圓圈,從第 p 個人開始,依次按照順時針的方向報數,數到第 m 個人出列,直到最後剩下乙個人。請寫乙個程式,對於給定的n,p,m,計算並列印出依次出列的人的編號 include using namespace std struct node node c...

約瑟夫環的鍊錶解法

約瑟夫環 鍊錶解法 之前遇到乙個面試題,大意是 電梯裡一擁而上一群人,導致電梯超重,於是大家約定,站成一圈,任選一人開始報數,數到3的那個人出電梯,圈內的下乙個人重新從1開始報數,數到3的人再出電梯,一直這樣,直到電梯不超重。現給一串有序的數字,電梯超重需出去m個人,數到k的人出電梯,讓列出出電梯的...