輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。
示例:
輸入: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 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。先確定頭節點,之後根據兩個鍊錶第乙個節點的大小,按...