【leetcode】21-MergeTwoSortedLists
2024-08-27 01:01:40
problem
一种方法是迭代,一种方法是递归;
code
/**
* 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 head(INT_MIN);//
ListNode* out = &head;
while(l1&&l2)//
{
if(l1->val < l2->val) { out->next = l1; l1 = l1->next;}
else {out->next = l2; l2 = l2->next; }
out = out->next;//
}
out->next = l1 ? l1 : l2;//
return head.next;//
}
};
将两个有序的链表合并为一个有序链表;
主要考察单向链表的基本用法;
头结点;
两个链表都有数值的时候才进行比较;
注意比较之后更新每个链表的头结点;
注意判断空链表时如何处理;
注意返回的是头结点的next;
参考
1.leetcode-MergeTwoSortedLists;
完
最新文章
- 看懂SqlServer查询计划【转】
- 可爱的Python_课后习题_CDay−2 完成核心功能
- 关于flume配置加载(二)
- SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”【0x800706be】的解决办法
- mysql触发器查看
- javaweb学习总结七(XML语言作用、语法)
- hdu 4607 树的直径
- HTTP协议 流程图
- [HMLY]3.如何使用Xcode Targets管理开发和生产版本?
- MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准
- C++ 进制转换 十进制十六进制八进制二进制相互转换
- java在方法中获取request对象
- DTW的原理及matlab实现
- linux下如何安装mysql和redis
- scanf连续输入字符,中间不要忘记\n
- 在C语言结构体中添加成员函数
- a++ 与 ++a 的运算
- 虚拟机内存复用技术的比较(XEN系统)
- msf辅助模块的应用——20145301
- 一点二次插值、二点二次插值 ,matlab