遍歷第乙個鍊錶 求長度m
遍歷第二個鍊錶 求長度n
選擇m和n中較大的那個
將較長的鍊錶遍歷至第m-n個節點
然後在兩個鍊錶中同步遍歷,比較next指標是否相等且不為null。
如果相等,則next指標所指的元素即為交點。
如果為null,說明兩個鍊錶都到了末端還沒有相交。
**:
node* find(node* head1,node* head2)
while
(p2)
//o(len2)
p1=head1;
p2=head2;
if(m>n)
else
//o(abs(len1-len2))
while
(p1!=p2)
//o(min(len1,len2))
return
p1; }
求兩個鍊錶的相交節點
編寫乙個程式,找到兩個單鏈表相交的起始節點。輸入 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 輸入解釋 相交節點的值為 8 注意,如果兩個...
尋找兩個鍊錶的相交節點
題目 單鏈表可能有環,也可能無環.給定兩個單鏈表的頭節點head1和head2,這兩個鍊錶可能相交,也可能不相交.請實現乙個函式,如果兩個鍊錶相交,請返回相交的第乙個節點 如果不相交,返回null即可.要求 如果鍊錶1的長度為n,鍊錶2的長度為m,時間複雜度請達到 o n m 額外空間複雜度請達到o...
兩個相交鍊錶
兩個單鏈表相交的一系列問題 題目 在本題中,單鏈表可能有環,也可能無環。給定兩個單鏈表的頭節點 head1和head2,這兩個鍊錶可能相交,也可能 不相交。請實現乙個函式,如果兩個鍊錶相交,請返回相交的第乙個節點 如果不相交,返回null 即可。要求 如果鍊錶1 的長度為n,鍊錶2的長度為m,時間複...