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

2021-10-02 20:08:42 字數 637 閱讀 5347

輸入兩個鍊錶,找出它們的第乙個公共結點。(注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的)

公共結點是啥:並不是兩個節點的值相同就是公共節點,而是在第一鍊錶和第二鍊錶中都存在乙個節點,該節點往後的子鍊錶在兩個鍊錶中是相同的。如下圖中的6就是第乙個公共結點。

設 a 的長度為 a + c,b 的長度為 b + c,其中 c 為尾部公共部分長度,可知 a + c + b = b + c + a。

當訪問鍊錶 a 的指標訪問到鍊錶尾部時,令它從鍊錶 b 的頭部重新開始訪問鍊錶 b;同樣地,當訪問鍊錶 b 的指標訪問到鍊錶尾部時,令它從鍊錶 a 的頭部重新開始訪問鍊錶 a。這樣就能控制訪問 a 和 b 兩個鍊錶的指標能同時訪問到交點。

劍指offer打卡 合併兩個排序的鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。1.迭代 public class solution else if list2 null 初始化,避免空指標異常 listnode head new listnode 1 listnode cur head...

劍指offer 合併兩個鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。新建乙個節點作為head,依次遍歷兩個陣列 時間複雜度 o n 空間複雜度 o 1 coding utf 8 class listnode def init self,x self.val x self.ne...

劍指offer 兩個鍊錶的合併

我怕是要丸,鍊錶合併不會寫了!題目 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,合成後的鍊錶滿足單調遞增。首先遞迴方法 struct listnode listnode reverselist listnode phead first next last return first 非遞迴 ty...