鍊錶 25題 合併兩個排序的鍊錶

2021-10-13 09:55:36 字數 1412 閱讀 6926

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

示例:

輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

限制:

0 <= 鍊錶長度 <= 1000
首先比較兩個鍊錶的頭節點,將指標newlist指向頭節點中較小的乙個,然後將那個鍊錶的頭節點指標向後移動一位來更新頭節點指標。然後進入迴圈,遍歷兩個鍊錶,比較兩個鍊錶的頭節點,將newlist.next指向較小的那個頭節點並更新此頭節點指標,最後向後移動newlist,直到乙個鍊錶的頭節點為空結束迴圈,最後將newlist指向不為空的鍊錶的頭節點。

}}與上述思路相同

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

else

if(l2 == null)

listnode newlist;

if(l1.val < l2.val)

else

return newlist;

}}

25 合併兩個排序的鍊錶

輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。示例1 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 definition for singly linked list.public class listnode class solution else if ...

鍊錶問題 合併兩個排序鍊錶

題目 輸入兩個遞增排序的鍊錶,合併這兩個排序鍊錶,使得合併之後的鍊錶仍然使遞增排序的。分析 即是歸併排序中的歸併操作,有兩種具體的實現 1 使用遞迴的方法,2 迭代版本,逐個合併鍊錶。實現如下 struct listnode 遞迴版本 listnode merge listnode phead1,l...

25 鍊錶 反轉單鏈表 合併兩個排序的鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。public class listnode public class solution return prior 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。先確定頭節點,之後根據兩個鍊錶第乙個節點的大小,按...