[leetcode] 21. Merge Two Sorted Lists

来源:互联网 发布:秦美人翅膀进阶数据 编辑:程序博客网 时间:2024/06/06 01:48

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.

Solution

Idea: create a new list, then compare the values of nodes in the two lists. The end of the new list points to the node with smaller value. 

/** * 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* head = new ListNode(0);        ListNode* cur = head;        while(l1 && l2){            if (l1->val <= l2->val){                cur->next = l1;                l1 = l1->next;            }else{                cur->next = l2;                l2 = l2->next;            }            cur = cur->next;        }        if (l1) cur->next = l1;        if (l2) cur->next = l2;        return head->next;    }};


0 0
原创粉丝点击