当前位置: 首页 > news >正文

BM5 合并k个已排序的链表 javascript

描述
合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。

数据范围:在这里插入图片描述

示例1
输入:
[{1,2,3},{4,5,6,7}]
返回值:
{1,2,3,4,5,6,7}示例2
输入:
[{1,2},{1,4,5},{6}]
返回值:
{1,1,2,4,5,6}

解题思路
利用两个单链表合并成一个有序链表的方法,先将数组前两个链表进行合并,将合并后的链表返回,然后再与下一个链表进行合并

/** function ListNode(x){*   this.val = x;*   this.next = null;* }*/
/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param lists ListNode类一维数组* @return ListNode类*/
function mergeKLists(lists) {if(lists.length === 1){return lists[0]}// write code here// let list,list2,list1let list = lists[0]for (let i = 0; i < lists.length - 1; i++) {list = Merge(list,lists[i+1])// if(i === 0){//     list1 = lists[i];//     list2 = lists[i+1];//     // list2 = list1.next//     list = Merge(list1, list2);//     // return list// }else{//     list1 = list//     console.log(list)//     list2 = lists[i+1]//     list = Merge(list, list2)//     // return list// }}return list
}
function Merge(list1, list2) {if (list1 === null) return list2;if (list2 === null) return list1;if (list1.val < list2.val) {list1.next = Merge(list1.next, list2);return list1;// console.log('list1',list1)} else {list2.next = Merge(list1, list2.next);return list2;}
}module.exports = {mergeKLists: mergeKLists,
};
http://www.lryc.cn/news/116381.html

相关文章:

  • 1.利用matlab建立符号表达式(matlab程序)
  • LVS工作环境配置
  • 金蝶,「起舞」在大模型时代
  • 解决Vs Code工具开发时 保存React文件时出现乱码情况
  • Fastjson 使用指南
  • 阿里云内容审核服务使用(图片审核)
  • git撤回最近一次push操作
  • 2000-2022年上市公司环境不确定性(原始数据+测算代码+测算结果)
  • 网络基本概念
  • 2.安装Docker-ce
  • Redis-2
  • 一分钟了解下Java追随和适应云原生的手段之Java Native Build(JNB)
  • Flutter iOS 与 flutter 相互通信
  • OpenCV和PIL图像对象转换
  • IDEA的实用快捷键大全
  • 04-6_Qt 5.9 C++开发指南_QListWidget和QToolButton
  • 笔试错题不熟悉 积累
  • Adb发送特定广播给App和App获取权限的命令
  • 字节C++后端面试总结
  • el-select 分页加载
  • QColorDialog
  • Linux部署Zabbix主机监控
  • 【IC萌新虚拟项目】功能覆盖率文件合入与功能覆盖率收集
  • 同步辐射散射数据处理分析方法及实验过程
  • 使用JavaScript开发网页地图导航
  • Go中的匿名函数与闭包
  • 中文分词工具jieba的使用
  • CTF Stegano练习之隐写初探
  • 大数据课程H2——TELECOM的电信流量项目实现
  • Langchain module ‘hnswlib‘ has no attribute ‘Index‘ 错误解决