因為兩個鍊錶不一定等長,所以先求出兩個鍊錶的長度。然後求差x,較長的鍊錶先走x部,然後開始比較兩個鍊錶,當遇到相同的結點則返回,一直未遇到則返回null
/*
public class listnode
}*/public class solution
while(l2!=null)
if(count1>count2)
while(phead1!=null&&phead2!=null)
phead1=phead1.next;
phead2=phead2.next;}}
else
while(phead1!=null&&phead2!=null)
phead1=phead1.next;
phead2=phead2.next;}}
return null;
}}
36 兩個鍊錶的第乙個公共結點
時間限制 1秒 空間限制 32768k 本題知識點 鍊錶 題目描述 include using namespace std struct listnode 方法一 先對齊結尾後,從前往後比較結點 class solution while p2 對齊尾部,從短的頭部開始比較 p1 phead1 p2 ...
36 兩個鍊錶的第乙個公共結點
題目 輸入兩個鍊錶,找出他們的第乙個公共結點 思路 公共結點是指結點值相同,結點指向的下乙個結點也相同。如果下乙個結點也相同,那麼下乙個結點的值記憶下乙個結點指向的結點也相同。即,從此公共結點開始,兩個鍊錶相遇,且之後的結點都是相同的,也就是重合了。因為結點位址相同,結點值相同,指向的下乙個節點的位...
36 兩個鍊錶的第乙個公共結點
輸入兩個鍊錶,找出它們的第乙個公共結點。leetcode對應題目 160.相交鍊錶 題目解答 總結 沒什麼難度,計算出兩個鍊錶長度,分別移動就可以了。還想到一種用set的性質來做,反正兩者有乙個公共節點,就是重合部分,把list1全部新增到set,再在set中查詢list2的每個結點。不過感覺不如解...