劍指offer25 合併兩個有序鍊錶

2022-09-08 00:18:20 字數 466 閱讀 1987

題目描述:輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。

解題思路:雙指標

分別指向兩個鍊錶的頭,比較大小即可。

問題:如何合併?

建立偽頭節點temp,節點cur指向temp,將比較後的節點插入到cur後,最後將不為null的鍊錶中剩餘節點新增到cur之後即可。

參考題解:

public

listnode mergetwolist(listnode l1, listnode l2)

else

}cur.next = l1 != null ?l1 : l2;

return

temp.next;

}

劍指offer 25 合併兩個排序的有序鍊錶

輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。示例1 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 限制 0 鍊錶長度 1000 首先這是兩個排序鍊錶,要合成為乙個有序鍊錶,我們大體思路就是先定義出新的鍊錶的頭 newhead 然後再將這兩個排序鍊錶的每乙個...

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

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。1 非遞迴的方法 如果可以改變鍊錶,直接從頭結點開始依次移動比較兩個鍊錶當前值的大小,把較小的值作為當前結點的下乙個結點。注意 剛剛開始的時候不知道頭結點到底是1的還是2的,所以新建乙個額外的新節點作為輔助 ...

劍指offer25 合併兩個排序的鍊錶

題目 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然使遞增排序的。例如 輸入下圖的鍊錶1和鍊錶2,則合併之後的公升序鍊錶如圖鍊錶3所示。鍊錶定義如下 思路 從兩個鍊錶的頭結點開始,比較兩個鍊錶的頭結點的值大小,值小的結點就是合併後鍊錶的頭結點,繼續合併鍊錶中剩餘的節點,在兩個鍊錶中剩下...