LeetCode(21)Merge Two Sorted Lists
2024-10-20 09:35:24
题目
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
分析
数据结构与算法的链表章节的典型实例,将两个有序链表合成一个,保持其有序的性质。
AC代码
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if (l1 == NULL)
return l2;
if (l2 == NULL)
return l1;
//合并后链表初始化为空
ListNode *rl = NULL;
ListNode *p = l1, *q = l2;
if (l1->val <= l2->val)
{
rl = l1;
p = l1->next;
}
else{
rl = l2;
q = l2->next;
}
rl->next = NULL;
ListNode *head = rl;
while (p && q)
{
if (p->val <= q->val)
{
rl->next = p;
p = p->next;
}
else{
rl->next = q;
q = q->next;
}//else
rl = rl ->next;
}//while
while (p)
{
rl->next = p;
p = p->next;
rl = rl->next;
}
while (q)
{
rl->next = q;
q = q->next;
rl = rl->next;
}
return head;
}
};
最新文章
- 艾伦 Visual Studio 批量自动化代码操作工具-VS插件发布
- Adding List Item Element At Runtime In Oracle Forms
- python_way ,day11 进程
- Sencha Touch 2.4 callParent() 用法
- Objective-C设计模式——原型Prototype(对象创建)
- C# 静态类和非静态类的区别
- 使用angularjs中ng-repeat的$even与$odd属性时的注意事项
- 用OO方式写键盘字母小游戏
- 一步一步学EF系列【6、IOC 之AutoFac】
- centos7源码编译安装Ansible详细部署
- [SDOI 2011]染色
- 用豆瓣镜像解决pip安装慢的问题
- Using RequireJS in AngularJS Applications
- .Net Core的Log方式:Serilog+Kibana
- RabbitMQ通过Exchange.headers属性代替routekey,x-match实现队列精准匹配
- Atitit 创业好处 Atitit 为什么我们要创业
- resful规范
- 我眼中的Linux系统和红帽RHCE认证
- shiro 会话管理
- 4.easyloader.js文件的作用