合并两个排序的链表 C++
来源:互联网 发布:mac无法验证qq邮箱 编辑:程序博客网 时间:2024/06/07 14:45
【题目】
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
【代码】
ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(pHead1==NULL||pHead2==NULL) return pHead1==NULL?pHead2:pHead1; ListNode*pHead=NULL; ListNode *p1=pHead1; ListNode *p2=pHead2; ListNode *p=pHead; while(p1!=NULL&&p2!=NULL) { ListNode *q=NULL; if(p1->val<=p2->val) q=p1; else q=p2; // =p1->val<=p2->val?p1:p2; if(pHead==NULL)//初次插入结点 { p=q; (q==p1)?(p1=p1->next):(p2=p2->next); p->next=NULL; pHead=p;//这里很重要啊!!! } else { p->next=q; (q==p1)?(p1=p1->next):(p2=p2->next); p=p->next; p->next=NULL; } } p->next= (p1==NULL)?p2:p1; return pHead; }
【个人总结】
pHead=p;这里要加上,因为前面是对p进行操作!这个时候pHead仍然是NULL!!!!!!
0 0
- 【C语言】合并,排序两个链表
- 【C++】合并两个排序的链表,要求合并后仍然是有序的
- 两个已排序链表的合并
- 两个已排序链表的合并
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序了的链表
- 合并两个排序的链表
- 23.合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 排序算法之 —— 桶排序(九)
- Selenium2设置隐式等待和显示等待
- Zabbix监控Mysql数据库性能
- hadoop分布式搭建
- 如何快速打开刚刚关闭的网页?
- 合并两个排序的链表 C++
- 棋盘分割
- OGRE的安装与配置(windows)
- 剑指offer——和为s的连续正数序列
- 面向对象中的session版的购物车
- Morphia 学习一 注解
- 15个你不可不知的cmd命令
- wireshark的使用
- hdu 5744(想法题)