輸入兩個鍊錶,找出它們的第乙個公共結點。
思路:分別計算兩個鍊錶的長度,然後可以區分哪個鍊錶更長,並且求出倆鍊錶的長度差delta。然後先遍歷長鍊表,讓長鍊表先走delta步,接下來,兩個鍊錶同時遍歷,直到兩個引用指向同乙個物件,返回該節點。
/*
public
class listnode
}*/public
class solution
if(phead1==phead2)
int count1=0,count2=0;
for(listnode node=phead1;node!=null;node=node.next)
for(listnode node=phead2;node!=null;node=node.next)
listnode longhead=null,shorthead=null;
if(count1>=count2)else
int delta=math.abs(count1-count2);
int i=0;listnode node=null,nodes=shorthead;
for(node=longhead;inull;node=node.next,i++);
while(node!=null&&nodes!=null)
node=node.next;
nodes=nodes.next;
}return null;
}}
劍指offer 兩個鍊錶第乙個公共結點
題目描述 輸入兩個鍊錶,找出它們的第乙個公共結點。解題思路 用兩重迴圈,對第乙個鍊錶的每乙個結點都進行第二個鍊錶所有結點的遍歷,若發現結點相等,則將結點返回 public listnode findfirstcommonnode listnode phead1,listnode phead2 phe...
劍指offer 兩個鍊錶的第乙個公共結點(鍊錶)
輸入兩個鍊錶,找出它們的第乙個公共結點。公共節點指的是節點的指標相同 節點本身相同 而不是節點的內容相同。如果考慮暴力的方法,對於鍊錶1的每個元素,去遍歷鍊錶2,找出第乙個公共節點,這樣時間複雜度為o mn 計算開銷大 m,n分別為兩個鍊錶的長度 考慮具有公共節點的鍊錶的特徵 如果兩個鍊錶有公共節點...
劍指offer 兩個鍊錶的第乙個公共節點
題目延伸 程式設計之美中的求兩個節點是否相交 將兩個節點串在一起,若有節點,串在一起的節點就會出現環,利用一二不長不等,兩個節點在環中必然相遇。本題描述 輸入兩個鍊錶,找出它們的第乙個公共結點。分析 乙個簡單的方法是 首先遍歷兩個鍊錶得到它們的長度,就能知道哪個鍊錶比較長,以及長的鍊錶比短的鍊錶多幾...