LeetCode:Merge Two Sorted Lists

Merge Two Sorted Lists


Total Accepted: 128244  Total Submissions: 359937  Difficulty: Easy

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.

Subscribe to see which companies asked this question

Hide Tags
  Linked List
Hide Similar Problems
  (H) Merge k Sorted Lists (E) Merge Sorted Array (M) Sort List (M) Shortest Word Distance II













c++ code:

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


你可能感兴趣的:(LeetCode,merge,sorted,LIS,Two)