題目描述
輸入兩個鍊錶,找出它們的第乙個公共結點。
解題思路:用兩重迴圈,對第乙個鍊錶的每乙個結點都進行第二個鍊錶所有結點的遍歷,若發現結點相等,則將結點返回
public listnode findfirstcommonnode(listnode phead1, listnode phead2)
phead1=phead1.next;
}return null;
}
解題思路2:若鍊錶相交,則鍊錶的最後乙個結點一定相同,計算出兩個鍊錶的長度差d,長的鍊錶先走d步,然後兩個鍊錶指標同時走,當結點相等時,則返回此結點。
public listnode findfirstcommonnode(listnode phead1, listnode phead2)
while(head2!=null)
head1=phead1;
head2=phead2;
if(len1>=len2)
while(phead2!=null)
if(stack1.peek()!=stack2.peek())
return null;
while(!stack1.isempty() && !stack2.isempty() && stack1.peek()==stack2.peek())
return node;
}
劍指Offer系列52 兩個鍊錶的第乙個公共節點
輸入兩個鍊錶,找出它們的第乙個公共節點。示例 1 輸入 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 注意,如...
JZ36 劍指offer 兩個鍊錶的第乙個公共結點
題目描述 輸入兩個鍊錶,找出它們的第乙個公共結點。注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的 struct listnode class solution elseif ia else if tb elseif ib else return ta 思路 因...
劍指offer第52題 兩個鍊錶的第乙個公共節點
輸入兩個鍊錶,找出它們的第乙個公共節點。如下面的兩個鍊錶 在節點 c1 開始相交。示例 1 輸入 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...