劍指offer 兩個鍊錶第乙個公共結點

2021-09-03 02:51:50 字數 749 閱讀 1960

題目描述

輸入兩個鍊錶,找出它們的第乙個公共結點。

解題思路:用兩重迴圈,對第乙個鍊錶的每乙個結點都進行第二個鍊錶所有結點的遍歷,若發現結點相等,則將結點返回

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...