合併兩個排序的鍊錶:
輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。
示例1:
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
思路:1、第乙個加入空的頭結點
2、將第二個l2和第乙個的l1進行比較,[pre,l1],如果小於l1就插入這中間,且pre+1;
如果大於l1,則遞推[pre,l1],全部+1;
3、如果l1已經找完了都沒找到大於l2的資料,此時l1先退出,則將第乙個的尾結點指向這個l2的結點。
4、如果l2先找完了,那麼說明l2資料全部小於l1。
**:
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
else}if
(l2 !=
null
)return newnode-
>next;}}
;
或者,自己寫的**,做了修改
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
else}if
(q !=
null
)return l1-
>next;}}
;
LeetCode 合併兩個排序的鍊錶
題目描述 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。示例1 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 限制 0 鍊錶長度 1000 思路 建立頭結點。依次指向兩個鍊錶中較小的節點,被選中的節點後移一位。注意乙個鍊錶結束,另乙個鍊錶還有很長一段的情況。...
合併兩個排序的陣列
includeusing namespace std 有兩個排序的陣列a1和a2,內存在a1的末尾有足夠多的空餘空間容納a2.實現乙個函式,把a2中的所有數字插入到a 中並且所有的數字是排序的。思路 先計算出兩個陣列中元素的總個數,然後從尾到頭比較array1和array2中的數字,並把較大的數字複...
合併兩個排序的列表
輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。輸入 返回值 由於兩個鍊錶都是遞增的,所以我們可以在遍歷的同時,判斷每個鍊錶當前各自值的大小,取出較小的那個,作為新鍊錶的結點,否則取另乙個,直到乙個鍊錶為空,將剩下乙個鍊錶拼接至新鍊錶尾端 注意 建立鍊錶使...