劍指offer14 將兩個有序鍊錶合併

2021-07-11 23:55:07 字數 696 閱讀 4585

題目:輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按照遞增排序的

兩個有序鍊錶的排序還是比較簡單的,重要的是要考慮一些情況

package 劍指offer;

/*題目:輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按照遞增排序的*/

public class test17 }

public static class linklist

public static linklist meragetwoorderlist(linklist head1, linklist head2)

if (head2 == null)

linklist root = new linklist();

linklist pointer = root;

while((head1 != null) && (head2 != null))else

pointer = pointer.next;

} // 當乙個鍊錶已經完了,另乙個鍊錶中還有元素的情況

if(head1 != null)

if(head2 != null)

return root.next; }

}

我不是菜鳥,是被菜鳥吃的小蟲子

劍指offer 合併兩個有序鍊錶

依次比較兩個鍊錶的首結點,取較小的的結點放到第三個鍊錶尾,同時移動較小節點所在鍊錶的指標指向下乙個節點。步驟一結果會有乙個鍊錶先遍歷結束 第三個鍊錶尾結點指向剩餘未遍歷結束的鍊錶 返回第三個鍊錶首結點 struct listnode class solution else merlist merli...

劍指offer 合併兩個有序鍊錶

題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。參考思路 逐個比較兩個鍊錶的第乙個結點,將結點值小的那個結點新增到乙個新的鍊錶上。直到最後乙個兩個鍊錶都合併到新的鍊錶上結束。參考 public class listnode public clas...

劍指offer 合併兩個有序鍊錶 python

方法一 迭代 簡化 方法二 遞迴 題目 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。題目位置 位置 示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4class solution object def mergetwolists self,l1,l2 type l1 listnode ...