leetcode-21 合并两个有序链表
生活随笔
收集整理的這篇文章主要介紹了
leetcode-21 合并两个有序链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
將兩個有序鏈表合并為一個新的有序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。
示例:
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
總體思路是:
比較兩個鏈表頭節點,較小的插入新鏈表指針之后,同時較小鏈表指針向后移動一位
實現如下:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {ListNode new_head(0);ListNode *pre_new = &new_head;while(l1 && l2) {if (l1 -> val < l2 -> val) {pre_new -> next = l1;l1 = l1 -> next;} else {pre_new -> next = l2;l2 = l2 -> next;}pre_new = pre_new -> next;}if (l1) {pre_new -> next = l1;} if (l2) {pre_new -> next = l2;}return new_head.next;
}
總結
以上是生活随笔為你收集整理的leetcode-21 合并两个有序链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个欧洲好听的名字
- 下一篇: leetcode-23 合并K个排序链表