LeetCode - 21. Merge Two Sorted Lists【歸併排序】
阿新 • • 發佈:2018-12-16
題目
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
Example:
Input: 1->2->4, 1->3->4 Output: 1->1->2->3->4->4
題意
輸入兩個已經排好序的連結串列,輸出按順序合併成的新連結串列。
分析
*if (l1 && (!l2 || l1->val < l2->val))
程式碼
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode pre = ListNode(0), *l = ⪯ while (l1 || l2){ if (l1 && (!l2 || l1->val < l2->val)){ l->next = l1; l1 = l1->next; }else{ l->next = l2; l2 = l2->next; } l = l->next; } return pre.next; } };