[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/feixiangcode/algorithm/master/Week_01/id_16/LeetCode_21_16.cpp [Back]  [Original]

/**[][]
 

1->2->4, 1->3->4
1->1->2->3->4->4
*/

/*




*/

/*
1
*/

/**
 * 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 *p1 = l1, *p2 = l2;
        static ListNode dummy(0);
        dummy.next = p1; //p1
        ListNode *prev = &dummy; //
        //p2p1
        //
        while(p1 && p2){
            if(p1->val < p2->val){
                prev = p1;
                p1 = p1->next;
            }else{
                prev->next = p2;
                p2 = p2->next;
                prev = prev->next;
                prev->next = p1;
            }
        }
        
        if(p2){//p2
            prev->next = p2;
        }
        
        return dummy.next;
    }
};

Web Proxy Viewer  |  New URL  |  Original Page