剑指offer----合并两个有序链表
来源:互联网 发布:appstore不能更新软件 编辑:程序博客网 时间:2024/05/22 02:21
题目:合并两个递增的有序链表。
注意:测试时一定要考虑全面,当两个链表有一个或两个都为空的情况。
非递归:
ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(pHead1==NULL) return pHead2; if(pHead2==NULL) return pHead1; ListNode* head=NULL; ListNode* cur=NULL; if(pHead1->val < pHead2->val) { cur=pHead1; head=cur; pHead1=pHead1->next; } else { cur=pHead2; head=cur; pHead2=pHead2->next; } while(pHead1!=NULL&&pHead2!=NULL) { if(pHead1->val < pHead2->val) { cur->next=pHead1; pHead1=pHead1->next; } else { cur->next=pHead2; pHead2=pHead2->next; } cur=cur->next; } if(pHead1!=NULL) { cur->next=pHead1; } else { cur->next=pHead2; } return head; }
递归:
ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(pHead1==NULL) return pHead2; if(pHead2==NULL) return pHead1; if(pHead1->val < pHead2->val) { pHead1->next=Merge(pHead1->next,pHead2); return pHead1; } else { pHead2->next=Merge(pHead1,pHead2->next); return pHead2; } }}
0 0
- 剑指offer----合并两个有序链表
- 《剑指offer》合并两个有序链表
- 剑指offer-合并两个有序链表
- 剑指offer 面试题17 合并两个有序链表
- 【剑指offer】合并两个有序的链表
- 剑指offer(8)-合并两个有序链表
- 剑指Offer---面试题17:合并两个有序链表
- 3.剑指offer-合并两个有序的链表
- 剑指offer--递归非递归合并两个有序链表
- 剑指offer面试题-合并两个有序链表
- 《剑指offer》合并两个有序的数组
- 剑指Offer-17-合并有序链表
- 【剑指offer】链表相关-合并两个有序链表&递归写法17
- 剑指offer刷题之c++实现的合并两个有序的链表
- 剑指offer系列之15:合并两个有序的链表
- 有序的合并两个有序链表
- 两个有序链表合并为有序
- 合并两个有序链表
- Objective C block背后的黑魔法
- Extjs6.2.0搭建项目框架
- 实现可点击展开的 TextView
- 前端工程化开发之yeoman、bower、grunt
- highcharts 柱状图插件
- 剑指offer----合并两个有序链表
- mybatis处理自关联
- IntelliJ IDEA使用教程二 项目创建&Tomcat配置
- android多图选择器 图片/视频 单选or多选,以及视频录制。The is Android Image Selector。
- 基础位操作
- svm-支持向量机
- QDataStream的二进制文件显示问题
- ssh- jar 包冲突问题
- 物联网虽火 但大咖们为什么这么说