《剑指offer》-合并两个排序的链表
来源:互联网 发布:网络空间主权 编辑:程序博客网 时间:2024/06/06 05:35
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
/*struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}};*///第一种想法,全部取出来,然后排序放回,不可行class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { /* ListNode* p = pHead1; ListNode* q; int temp; if(pHead1 == NULL) return pHead2; if(pHead2 == NULL) return pHead1; while(p->next != NULL) { p = p->next; } p->next = pHead2; for(p = pHead1; p != NULL; p = p->next) { for(q = p->next; q != NULL; q = q->next) { if(p->val > q->val) { temp = p->val; p->val = q->val; q->val = temp; } } } return pHead1; */ ListNode* result = NULL; ListNode* current; if(pHead1 == NULL) return pHead2; if(pHead2 == NULL) return pHead1; while(pHead1 != NULL && pHead2 != NULL) { if(pHead1->val < pHead2->val) { if(result == NULL) { result = pHead1; current = pHead1; } else { current->next = pHead1; current = pHead1; } pHead1 = pHead1->next; } else { if(result == NULL) { result = pHead2; current = pHead2; } else { current->next = pHead2; current = pHead2; } pHead2 = pHead2->next; } } /* //递归写法,把一个大问题看成小部分来处理,解决含有两个值的链表,然后调用自身函数 if(pHead1->val < pHead2->val) { result = pHead1; result->next = Merge(pHead1->next, pHead2); } else { result = pHead2; result->next = Merge(pHead1, pHead2->next); } */ if(pHead1 == NULL) current->next = pHead2; else current->next = pHead1; return result; }};
0 0
- 剑指offer 17-合并两个排序表的链表
- 剑指Offer之合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 【剑指offer】Q17:合并两个排序的链表
- 剑指offer-17:合并两个排序的链表
- 剑指offer系列源码-合并两个排序的链表
- 剑指offer--合并两个排序的链表
- 剑指offer之合并两个排序的链表
- 剑指Offer之 - 合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 剑指Offer-合并两个排序的链表
- 剑指offer:合并两个排序的链表 代码实现
- 《剑指Offer》面试题:合并两个排序的链表
- 合并两个排序的链表(剑指offer)
- 《剑指offer》合并两个排序的链表
- 剑指Offer系列---(19)合并两个排序的链表
- 剑指 offer:合并两个排序的链表
- 一个女程序员想说的话
- 2016江苏省大学生程序设计大赛 JSCPC 总结
- NAT网络下TCP连接建立时可能SYN包被服务器忽略-tcp_tw_recycle
- Vim 匹配字符串出现次数
- MATLAB信号处理仿真-基带脉冲成形的数字滤波器
- 《剑指offer》-合并两个排序的链表
- 低版本XCode如何支持高版本iOS系统进行真机调试
- Qt路径问题
- ios设计模式
- hdu湫湫系列故事——减肥记I(完全背包)
- 常用的uboot的bootargs设置
- android studio 1.5升级到2.0或2.1报错
- 关于C语言中的指针
- CDH安装配置LDAP