码迷,mamicode.com
首页 > 编程语言 > 详细

合并两个排序的链表

时间:2017-05-21 21:50:21      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:大小   blog   ret   pre   amp   log   排序   list   tno   

错误代码:

最后两个if语句的目的是,最后一次迭代,两个链表中剩下的直接连接最后一次比较的数值,同时也是迭代停止的标志。虽然大if语句中比较大小得到的Node是正确的值,但每次迭代只要pHead2不为NULL都要改变正确的Node值为pHead2的值。

class Solution {
public:
    ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
    {
        ListNode* Node = NULL;
        if(pHead1 != NULL && pHead2 != NULL){
            if(pHead1->val < pHead2->val){
                Node = pHead1;
                Node->next = Merge(pHead1->next,pHead2);
            }
            else{
                Node = pHead2;
                Node->next = Merge(pHead1,pHead2->next);
            }
        }
        if(pHead1 != NULL)
            Node = pHead1;
        if(pHead2 != NULL)
            Node = pHead2;
        return Node;
    }
};

测试用例:
{1,3,5},{2,4,6}

对应输出应该为:

{1,2,3,4,5,6}

你的输出为:

{2,4,6}

 

合并两个排序的链表

标签:大小   blog   ret   pre   amp   log   排序   list   tno   

原文地址:http://www.cnblogs.com/ymjyqsx/p/6885966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!