合并两个序列
来源:互联网 发布:mac上哪里下游戏 编辑:程序博客网 时间:2024/05/19 16:50
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则
class Solution {
public:
ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
{
//周二, 2017-6-21 每天在忙啥
//判断是都指针是否为空,若为空
//1 两指针都为空,
//2 一个指针为空
//3 若都不为空
//4 比较首节点,若p1>p2,则在p2中移动,
//若p2>p1,则造p1中移动。
if(pHead1==NULL&&pHead2==NULL) return NULL;
if(pHead1==NULL&&pHead2!=NULL) return pHead2;
if(pHead2==NULL&&pHead1!=NULL) return pHead1;
ListNode *res=NULL;
ListNode *p1=pHead1;
ListNode *p2=pHead2;
ListNode *pt=NULL;
///循环和连接
while(p1!=NULL&&p2!=NULL)
{
//思路;用pHead1当做头
if(p1->val>=p2->val)
{
////1 这里没有想明白
if(res==NULL)
{ res=p2;
pt=res;
}
else
{
res->next=p2;
res=p2;
}
//2 这里为什么
p2=p2->next;
//怎么连接
}
else
{
if(res==NULL)
{
res=p1;
pt=res;
}
else
{
res->next=p1;
res=p1;
}
p1=p1->next;
}
}
//3 这里没有想明白
if(p1!=NULL)
{
res->next=p1;
}
if(p2!=NULL)
{
res->next=p2;
}
//如何记住头指针
return pt;
}
};
- 合并两个有序序列
- 合并两个有序序列
- 合并两个有序序列
- 合并两个排序序列
- 合并两个有序序列
- 合并两个序列
- 合并两个排序序列_1393
- 两个有序序列的合并算法
- Java合并两个有序序列算法实现
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- Spring boot 单元测试
- Ie9以下的input输入框placeholder属性兼容方案
- 设计模式之工厂方法模式
- 第1.7章 scrapy之ip代理的使用
- 二叉树的遍历
- 合并两个序列
- day03
- 【Mybatis】基础了解
- nginx修改nginx.conf文件后reload出现的错误
- Java 程序员必须掌握的 Linux 命令
- Codeforces Ultra-Fast Mathematician
- 《Mastering R for Quantitative Finance》Chapter1笔记
- InputArray和OutputArray的那些事
- 默认打开IE10、IE11就强制使用IE8/IE9浏览模式或更低版本的浏览模式