題目描述:
題目問題和難點:
1.是找相交的那個節點,而不是值相等的節點。(示例中1的值相同但不是相交的節點)
2.此題目不考慮有環的鍊錶所以思路很簡單。
public static listnode getintersectionnode(listnode heada, listnode headb)
//1.獲取兩個鍊錶的長度
int lengtha = 0;
int lengthb = 0;
listnode acopy = heada;
listnode bcopy = headb;
while(acopy!=null)
while(bcopy!=null)
//2.找到兩個鍊錶長度的差值,並進行對齊。(長的鍊錶多出來的長度去掉)
int dif = 0;
if(lengtha >lengthb)
}else
}//3.進行比較,節點相等返回
while(heada!=null&&headb!=null)else
}return null;
}
160 相交鍊錶
編寫乙個程式,找到兩個單鏈表相交的起始節點。如下面的兩個鍊錶 在節點 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 valu...
160相交鍊錶
題目描述 編寫乙個程式,找到兩個單鏈表相交的起始節點。沒有就返回null。注意 題解思路 從a鍊錶第乙個元素開始,去遍歷b鍊錶,找到乙個相同元素後,同步遍歷a和b鍊錶,所有元素相同,即兩個鍊錶為相交鍊錶,並返回同步遍歷的起始節點。struct listnode getintersectionnode...
160 相交鍊錶
編寫乙個程式,找到兩個單鏈表相交的起始節點。如下面的兩個鍊錶 在節點 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 valu...