首页 > 代码库 > 合并两个排序的链表
合并两个排序的链表
错误代码:
最后两个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}
合并两个排序的链表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。