leetcode demo21合併兩個有序鍊錶

2021-10-14 23:18:21 字數 417 閱讀 7931

遇到這類問題不是遞迴就是迭代

第一種:迭代

基本思路:搞兩個指標分別指向兩個鍊錶的頭結點,比較值的大小,用較小的一方去建立結果鍊錶的新結點,然後對應指標後移直到兩個鍊錶都遍歷結束。也可以不去建立新的結點,看個人喜好。

第二種:遞迴

基本思路:找終止條件,以及遞迴的規律。

//迭代的方式

class

solution

else

}return res.next;}}

//遞迴的方式

class

solution1

else

if(l2 == null)

else

if(l1.val < l2.val)

else

}}

21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 原本想的是用19題的結構陣列那種方法來做 分別遍歷兩個鍊錶,建立結構儲存原始索引,val和指標,氣泡排序這個結構,更新索引,按照索引建立新的n...

21 合併兩個有序鍊錶

合併兩個有序鍊錶 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4比較簡單,比較大小,重新排序即可。created by hints on 2019 1 9.include using name...

21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4先確定合併鍊錶第乙個節點 在迴圈中同時遍歷兩個鍊錶,將後面其餘節點逐次比較,依大小次序連線到首節點之後,迴圈結束後可能有乙個鍊錶未遍歷完,將這個鍊錶剩...