(LeetCode 21)Merge Two Sorted Lists
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.
题目要求:
合并两个有序链表
注意:
不能开辟新的结点空间
解题思路:
1、归并排序,创建一个新的头结点,从头到尾分别遍历两个链表,并依次比较其大小关系,每次将头指针指向小的那个。
2、递归思想(对于为改变链表结构的题目,一般也可以采用递归的方法)
代码:
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/// Merge combination method class Solution { public:ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {ListNode head(0);ListNode *lst;lst=&head;while(l1 && l2){if(l1->val<=l2->val){lst->next=l1;l1=l1->next;}else{lst->next=l2;l2=l2->next;}lst=lst->next;}if(l1)lst->next=l1;if(l2)lst->next=l2;return head.next;} };// Recursive method class Solution { public:ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {if(l1 == NULL) return l2;if(l2 == NULL) return l1;if(l1->val < l2->val) {l1->next = mergeTwoLists(l1->next, l2);return l1;} else {l2->next = mergeTwoLists(l2->next, l1);return l2;}}
(LeetCode 21)Merge Two Sorted Lists相关推荐
- LeetCode算法入门- Merge Two Sorted Lists -day15
LeetCode算法入门- Merge Two Sorted Lists -day15 题目描述: Merge two sorted linked lists and return it as a n ...
- LeetCode in Python-21. Merge Two Sorted Lists 合并两个有序链表
Merge Two Sorted Lists 合并两个有序链表 题目 解法1. 解法2. 出处 题目 解法1. # Definition for singly-linked list. # class ...
- Python 解LeetCode:23. Merge k Sorted Lists
题目描述:把k个排序的链表组成的列表合并成一个排序的链表 思路: 使用堆排序,遍历列表,把每个列表中链表的头指针的值和头指针本身作为一个元素放在堆中: 第一步中遍历完列表后,此时堆中最多会有n个元素, ...
- LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)
LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...
- Leetcode 21:Merge Two Sorted Lists(golang实现合并两条已经排序的链表)
21.Merge Two Sorted Lists 题目链接:题目链接 Merge two sorted linked lists and return it as a new list. The n ...
- LeetCode 之 JavaScript 解答第23题 —— 合并K个有序链表(Merge K Sorted Lists)
Time:2019/4/10 Title: Merge K Sorted Lists Difficulty: Difficulty Author: 小鹿 题目:Merge K Sorted Lists ...
- 21.Merge Two Sorted Lists 、23. Merge k Sorted Lists
21.Merge Two Sorted Lists 初始化一个指针作为开头,然后返回这个指针的next class Solution { public:ListNode* mergeTwoLists( ...
- [LeetCode] Merge k Sorted Lists 合并k个有序链表
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...
- 【LeetCode】【数组归并】Merge k Sorted Lists
描述 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity ...
最新文章
- Codeforces数学1600----day1[同余定理,树状数组+两次二分,,组合计数]
- Ubuntu13.10下编译安装opencv2.4.9
- javascript 类型及类型判断
- html修改details范围,HTML details 标签
- jQuery高级部分笔记
- 我的LINUX之路----linux目录文件管理
- 马斯克又一语双关 引用猫王金曲威胁直接向推特股东发要约收购?
- 搭建一个简单repo服务器
- Python 网页爬虫
- ResultSet用法集锦
- yum 源端软件包扩展
- 基于asp.net面向小商户的轻量级仓储管理系统
- 蜜蜂科技Bee+创始人贾凡、OFO创始人戴威入选高山大学2018级名单
- 拨号ECS和拨号VPS的区别
- 关于华为P10(Android 8.0系统)出现的一个莫名奇妙的ANR
- 遗传算法之扇贝的进化(python代码实现)
- 苹果/Mac电脑软件卸载不了怎么办?
- 外观模式-简化子系统的复杂性
- CSS和HTML基操
- 造物数藏:以数字藏品为契机 不断完善应用场景探索