Leetcode: Merge Two Sorted Lists

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.

代码:

class Solution {
public:
    ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
        if(l1 == NULL) return l2;
        if(l2 == NULL) return l1;
        
        ListNode *dummy = new ListNode(-1);
        dummy->next = NULL;
        for(ListNode *p = dummy; l1 || l2; p = p->next){
            int l1v = l1?l1->val:INT_MAX;
            int l2v = l2?l2->val:INT_MAX;
            if(l1v <= l2v){
                p->next = l1;
                l1 = l1->next;
            }else{
                p->next = l2;
                l2 = l2->next;
            }
        }
        
        return dummy->next;
    }
};

 

posted on 2014-11-19 20:02  Ryan-Xing  阅读(121)  评论(0编辑  收藏  举报