Leecode 21 合併兩個有序鍊錶

2021-09-25 20:00:15 字數 515 閱讀 6629

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

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

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

解題思路:如果l1為空,則返回l2 ,如果l2為空,則返回l1,如果l1和l2同時為空,則返回空。當l1和l2不空時,新申請乙個鍊錶l3,按照值的大小依次排列。當l1和l2中有乙個為空時,若l1不為空,l2為空,則將l1的後部接到l3上,若l2不為空,l1為空,則將l2的後部接到l3上。

/**

* definition for singly-linked list.

* public class listnode

* }*/class solution else

}if(l1 != null) temp.next = l1;

if(l2 != null) temp.next = l2;

return l3.next;

}}

LeeCode 合併兩個有序鍊錶

畫圖可以容易想到迭代的方法。要注意的是,需要設定乙個指標 head 記錄合成鍊錶最開始的位置。還需要維護乙個具有next指標的元素 temp 實時更新位置,所以要new乙個和結點結構一樣的元素。include iostream using namespace std class solution e...

pta兩個有序鍊錶的合併 21 合併兩個有序鍊錶

分別遍歷兩個鍊錶,把數放到列表中,運用sort方法。再用尾插法,遍歷列表,建立新的有序鍊錶。class solution def mergetwolists self,l1 listnode,l2 listnode listnode sum def list2num node while node ...

21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 原本想的是用19題的結構陣列那種方法來做 分別遍歷兩個鍊錶,建立結構儲存原始索引,val和指標,氣泡排序這個結構,更新索引,按照索引建立新的n...