首页 > 其他 > 详细

Merge Two Sorted Lists

时间:2014-03-12 22:53:18      阅读:502      评论:0      收藏:0      [点我收藏+]

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.

分析:这道题我们新建新的链表,并且此题运用递归手法还是很好做的。首先我们从合并两个链表的头结点开始。链表1的头结点的值小于链表2的头结点的值,因此链表1的头结点将是合并后链表的头结点,反之,链表2的头结点将是合并后链表的头结点。我们继续合并两个链表中剩余的结点。在两个链表中剩下的结点依然是排序的,因此合并这两个链表的步骤和前面步骤是一样的。

bubuko.com,布布扣
/**
 * 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==NULL)
            return l2;
        else if(l2==NULL)
            return l1;
        ListNode *pMerge=NULL;
        if(l1->val<l2->val)
        {
            pMerge=l1;
            pMerge->next=mergeTwoLists(l1->next,l2);
        }
        else
        {
            pMerge=l2;
            pMerge->next=mergeTwoLists(l1,l2->next);
        }
        return pMerge;
    }
};
bubuko.com,布布扣

Merge Two Sorted Lists,布布扣,bubuko.com

Merge Two Sorted Lists

原文:http://www.cnblogs.com/awy-blog/p/3597316.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!