輸入兩個鍊錶,找出它們的第乙個公共結點。(注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的)
先遍歷兩個鍊錶得到兩個鍊錶的長度,設為k,較長的的鍊錶先走k步。
/*
struct listnode
};*/
class
solution
while
(p2)
int len = len1 > len2? len1-len2 : len2-len1;
if(len1 > len2)
}else
}while
(phead1 != phead2)
return phead1;}}
;
大佬的**:
class
solution
return p1;}}
;
找出鍊錶的第乙個公共結點
題目 兩個單鏈表,找出它們的第乙個公共結點。鍊錶的結點定義為 struct listnode 答 include stdafx.h include include using namespace std struct listnode 構造鍊錶 void createlist listnode ph...
兩個鍊錶的第乙個公共結點
思路 獲取兩個鍊錶的長度,求的長度差n,讓長鍊表先遍歷n次,然後長鍊表和短鍊錶同時遍歷,當長鍊錶和短鍊錶相等時,即為第一公共結點。o m1 m2 public class findfirstcomnode int len1 getnodelength root1 int len2 getnodele...
兩個鍊錶的第乙個公共結點
題目 輸入兩個鍊錶,找出他們的第乙個公共結點。方法1 分別把兩個鍊錶的節點放入兩個棧裡,這樣兩個鍊錶的尾結點就位於兩個棧的棧頂,接下來比較兩個棧頂的結點是否相同。如果相同,則把棧頂彈出接著比較下乙個棧頂,直到找到最後乙個相同的結點。時間和空間複雜度都是o m n 方法2 先遍歷兩個鍊錶得到它們的長度...