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相关推荐

  1. LeetCode算法入门- Merge Two Sorted Lists -day15

    LeetCode算法入门- Merge Two Sorted Lists -day15 题目描述: Merge two sorted linked lists and return it as a n ...

  2. LeetCode in Python-21. Merge Two Sorted Lists 合并两个有序链表

    Merge Two Sorted Lists 合并两个有序链表 题目 解法1. 解法2. 出处 题目 解法1. # Definition for singly-linked list. # class ...

  3. Python 解LeetCode:23. Merge k Sorted Lists

    题目描述:把k个排序的链表组成的列表合并成一个排序的链表 思路: 使用堆排序,遍历列表,把每个列表中链表的头指针的值和头指针本身作为一个元素放在堆中: 第一步中遍历完列表后,此时堆中最多会有n个元素, ...

  4. LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)

    LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...

  5. 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 ...

  6. LeetCode 之 JavaScript 解答第23题 —— 合并K个有序链表(Merge K Sorted Lists)

    Time:2019/4/10 Title: Merge K Sorted Lists Difficulty: Difficulty Author: 小鹿 题目:Merge K Sorted Lists ...

  7. 21.Merge Two Sorted Lists 、23. Merge k Sorted Lists

    21.Merge Two Sorted Lists 初始化一个指针作为开头,然后返回这个指针的next class Solution { public:ListNode* mergeTwoLists( ...

  8. [LeetCode] Merge k Sorted Lists 合并k个有序链表

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...

  9. 【LeetCode】【数组归并】Merge k Sorted Lists

    描述 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity ...

最新文章

  1. Codeforces数学1600----day1[同余定理,树状数组+两次二分,,组合计数]
  2. Ubuntu13.10下编译安装opencv2.4.9
  3. javascript 类型及类型判断
  4. html修改details范围,HTML details 标签
  5. jQuery高级部分笔记
  6. 我的LINUX之路----linux目录文件管理
  7. 马斯克又一语双关 引用猫王金曲威胁直接向推特股东发要约收购?
  8. 搭建一个简单repo服务器
  9. Python 网页爬虫
  10. ResultSet用法集锦
  11. yum 源端软件包扩展
  12. 基于asp.net面向小商户的轻量级仓储管理系统
  13. 蜜蜂科技Bee+创始人贾凡、OFO创始人戴威入选高山大学2018级名单
  14. 拨号ECS和拨号VPS的区别
  15. 关于华为P10(Android 8.0系统)出现的一个莫名奇妙的ANR
  16. 遗传算法之扇贝的进化(python代码实现)
  17. 苹果/Mac电脑软件卸载不了怎么办?
  18. 外观模式-简化子系统的复杂性
  19. CSS和HTML基操
  20. 造物数藏:以数字藏品为契机 不断完善应用场景探索

热门文章

  1. libvirt(virt-install命令介绍)
  2. ProGuard的返回错误代码1。异常的解决方法
  3. ballerina 学习二十九 数据库操作
  4. MongoDB的安装及基本命令和pymongo的使用
  5. UITests操作指南
  6. JS基础篇--HTML DOM classList 属性
  7. CodeForces 721C Journey
  8. 转 java学习笔记(必看经典)
  9. C#的委托事件在winform窗体中实现传值备忘
  10. Linkedin 工程师如何优化他们的 Java 代码