每日演算法 合併兩個有序列表

2021-10-18 04:09:53 字數 478 閱讀 4556

/**

* 將兩個有序的鍊錶合併為乙個新鍊錶,要求新的鍊錶是通過拼接兩個鍊錶的節點來生成的,且合併後新鍊錶依然有序。

* 思路:

* l1為空返回l2,l2為空返回l2

* 都不為空,定義乙個頭節點,迴圈比較兩個列表的大小,小的拼接到頭結點,並拆除當前節點

* */

public class nc33

if(l2 == null)

listnode head = null;

if(l1.val<=l2.val)else

listnode temphead = head;

while (l1 != null || l2!=null)

if(l2==null)

if(l1.val<=l2.val)else

temphead = temphead.next;

}return head;

}}

合併兩個有序列表

1.尾遞迴 1 def recursion merge sort2 l1,l2,tmp 2if len l1 0 or len l2 0 3tmp.extend l1 4tmp.extend l2 5return tmp6 else 7 if l1 0 dell1 0 10else 11 12del...

go合併兩個有序列表

題目 將兩個有序鍊錶合併為乙個新的有續鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點做成的。思路 1 如果給定的兩條鍊錶中有一條為空,返回另一條即可 2 若兩條鍊錶都不為空,則在兩條鍊錶中選擇較小的節點作為head,被選中的較小節點所在鍊錶的第二個節點便成了二當家帶領這條鍊錶 3 二當家帶領著...

leetcode合併兩個有序列表

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。例如 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 class solution def mergetwolists self,l1 listnode,l2 listnode listnode ...