现在的位置: 首页 > 综合 > 正文

[LeetCode] Merge Two Sorted Lists

2018年04月12日 ⁄ 综合 ⁄ 共 561字 ⁄ 字号 评论关闭

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.

/**
 * 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) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        
        ListNode guard(-1);
	    ListNode* pTail=&guard;
	    while(l1&&l2)
	    {
		    ListNode*& tmp=l1->val<l2->val?l1:l2;
		    pTail->next=tmp;
		    pTail=pTail->next;
		    tmp=tmp->next;
	    }
	    pTail->next=l1?l1:l2;
	    return guard.next;
    }
};

抱歉!评论已关闭.