合并有序列表

  • 题目
  • 测试点
  • 描述
  • 题解
    • 方法1
    • 方法2

题目

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

测试点

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

描述

/*** Definition for singly-linked list.* function ListNode(val, next) {*     this.val = (val===undefined ? 0 : val)*     this.next = (next===undefined ? null : next)* }*/
/** @param {ListNode} l1* @param {ListNode} l2* @return {ListNode}*/
var mergeTwoLists = function (l1, l2) {}

题解

方法1

/*** Definition for singly-linked list.* function ListNode(val, next) {*     this.val = (val===undefined ? 0 : val)*     this.next = (next===undefined ? null : next)* }*/
/** @param {ListNode} l1* @param {ListNode} l2* @return {ListNode}*/
var mergeTwoLists = function (l1, l2) {// 为了return时还能找到头结点let head = new ListNode(null)let p = head// m1while (l1 && l2) {if (l1.val < l2.val) {p.next = l1p = p.nextl1 = l1.next} else {p.next = l2p = p.nextl2 = l2.next}}while (l1) {p.next = l1p = p.nextl1 = l1.next}while (l2) {p.next = l2p = p.nextl2 = l2.next}return head.next
};

方法2

思路也差不多,代码量少点:

var mergeTwoLists = function (l1, l2) {// 为了return时还能找到头结点let head = new ListNode(null)let p = head// m2while (l1 || l2) {if ((l1 && l2 && l1.val <= l2.val) || !l2) {p.next = l1p = p.nextl1 = l1.next} else {p.next = l2p = p.nextl2 = l2.next}}return head.next
};

leetcode 21.合并有序列表(js)相关推荐

  1. [递归|迭代] leetcode 21 合并两个有序链表

    [递归|迭代] leetcode 21 合并两个有序链表 1.题目 题目链接 将两个升序链表合并为一个新的升序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2 ...

  2. LeetCode 21. 合并两个有序链表(链表)

    上一篇博客:LeetCode 20. 有效的括号(栈.字符串)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.最近萌生了刷LeetCode ...

  3. 算法导论 — 思考题8-6 合并有序列表的下界

    (合并有序列表的下界)合并两个有序列表是我们经常会遇到的问题.作为MERGE-SORT的一个子过程,我们在2.3.1节中已经遇到过这一问题.对这一问题,我们将证明在最坏情况下,合并两个都包含nnn个元 ...

  4. LeetCode 21合并两个有序链表22括号生成

    微信搜索bigsai,回复进群,加入打卡.维护不易,欢迎点赞支持! 合并两个有序列表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...

  5. Java实现 LeetCode 21 合并两个有序链表

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1 ...

  6. LeetCode 708. 循环有序列表的插入

    文章目录 1. 题目 2. 解题 1. 题目 给定循环升序列表中的一个点,写一个函数向这个列表中插入一个新元素,使这个列表仍然是循环升序的. 给定的可以是这个列表中任意一个顶点的指针,并不一定是这个列 ...

  7. LeetCode 21. 合并两个有序链表(单链表)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例:输入:1->2->4, 1-> ...

  8. 【Java】leetCode 21 合并两个有序链表

    题目 : 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 解题思路 : 1.依据以上两个升序链表进行拼接: 2.先定义一个傀儡节点newHead,用来 ...

  9. leetcode - 21. 合并两个有序链表

    将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1->2- ...

最新文章

  1. jquery easyui 操作总结
  2. 04_NoSQL数据库之Redis数据库:set类型和zset类型
  3. Lync-用户-电话号码-更新
  4. C++之operator关键字(重载操作符) 使用总结
  5. 计算机等级考试考卷试题按钮,全国计算机等级考试一级B模拟试题及答案2011.7...
  6. oracle audit文件,oracle 参数文件audit_trail的认识
  7. mysql 5.6 解压缩版安装教程
  8. matlab线性代数电子书,实用大众线性代数 MATLAB版_13652907.pdf
  9. 完美卸载SQL Server2014数据库
  10. 《Redis开发与运维》笔记-复制
  11. 用树莓派3B+实现智能语音识别
  12. 最新!谷歌浏览器去除CSDN广告插件
  13. 编译原理用C语言编写递归下降分析程序,编译原理递归下降分析器(C语言).pdf
  14. 基于同源策略对CORS和JSONP的初步认识
  15. 自动化生产线仿真教学
  16. 管理员必须知道的RADIUS认证服务器的部署成本
  17. Vue3 优雅的模态框封装方案
  18. 02 MSC类设备-基础篇(二)
  19. FusionCharts报表
  20. Makefile编写和使用技巧

热门文章

  1. 第七章 线程的活性故障--《java多线程编程实战指南-核心篇》
  2. 【渝粤题库】陕西师范大学165106 冲突与沟通管理作业 (高起专)
  3. 经典蓝牙与低功耗蓝牙的区别
  4. 微积分——求导数的链式法则
  5. js滚动到指定位置显示或隐藏元素
  6. python清空屏幕
  7. ssd测试遇到的问题
  8. 已解决:error: cannot connect to daemon
  9. Mirai使用与攻击
  10. ARM嵌入式主板之路