Leetcode(鍊錶)相交鍊錶 c

2021-09-02 06:18:30 字數 626 閱讀 2292

編寫乙個程式,找到兩個單鏈表相交的起始節點。

例如,下面的兩個鍊錶:

a: a1 → a2

↘c1 → c2 → c3

↗b: b1 → b2 → b3

在節點 c1 開始相交。

注意:如果兩個鍊錶沒有交點,返回 null.

在返回結果後,兩個鍊錶仍須保持原有的結構。

可假定整個鍊錶結構中沒有迴圈。

程式盡量滿足 o(n) 時間複雜度,且僅用 o(1) 記憶體。

解題思路:將兩個鍊錶右對齊,分別計算兩個鍊錶的長度,然後刪除較長鍊錶的前端結點,然後開始依次比較兩個鍊錶的結點是否相等,有則返回該結點,沒有則返回null。

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

while

(b_first)

if(alen>blen)

if(alenwhile

(heada)

return

null;}

};

LeetCode 鍊錶 相交鍊錶

語言 python 難度 簡單 描述 找到兩個單鏈表的重合鏈。比如 node a 4,1,8,4,5 node b 5,0,1,8,4,5 則這兩個鍊錶的起始節點為8,重合鏈為 8,4,5 node a 4,1,7,2,1 node b 5,0,1,8,4,5 則這兩個鍊錶的起始節點為null,不存...

鍊錶 相交鍊錶(leetcode 160

若相交,鍊錶a a c,鍊錶b b c.a c b b c a 則會在公共處c起點相遇。若不相交,a b b a 因此相遇處是null 用一句歌詞總結 走過你來時的路 public listnode getintersectionnode listnode heada,listnode headb ...

演算法 鍊錶 鍊錶相交

給定兩個 單向 鍊錶,判定它們是否相交並返回交點。請注意相交的定義基於節點的引用,而不是基於節點的值。換句話說,如果乙個鍊錶的第k個節點與另乙個鍊錶的第j個節點是同一節點 引用完全相同 則這兩個鍊錶相交。示例 1 輸入 intersectval 8,lista 4,1,8,4,5 listb 5,0...