剑指offer17 合并两个排序的链表
2024-09-28 01:33:30
错误代码:
最后两个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}
最新文章
- jQuery:实现网页的打印功能
- Google C++单元测试框架GoogleTest---AdvancedGuide(译文)上
- 解决SVN Upgrade working copy问题
- 嵌入式linux应用开发完全手册学习笔记一
- 简述WebService的使用(二)
- h5 input file ajax实现文件上传
- 调度 Quartz 时间格式配置
- MySQL【Update误操作】回滚(转)
- [转]linux 下使用dump和restore命令
- JavaScript高级程序设计19.pdf
- 需要考虑的9个SEO实践
- win10 uwp 通知Toast
- 【ASP.NET MVC 学习笔记】- 13 Child Action
- Linux 权限、磁盘操作命令-Linux基础环境命令学习笔记
- 基于hadoop的BI架构
- 解决ADT大量出现";Unexpected value from nativeGetEnabledTags: 0";的问题
- C++的内存分区
- OpenLdap+MySQL笔记
- oracle中修改表已有数据的某一列的字段类型的方法,数据备份
- asyncio Lock,Queue