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

链表系列一>合并 k 个升序链表

目录

  • 题目:
  • 方法一解析:
  • 代码:
  • 方法二解析:
  • 代码:

题目:

链接: link这里是引用

方法一解析:

这里是引用

代码:

public ListNode mergeKLists(ListNode[] lists) {//建立小根堆PriorityQueue<ListNode> heap = new PriorityQueue<>((v1,v2)-> v1.val - v2.val);//把所有头节点放入小根堆中for(ListNode l : lists){if(l != null){heap.offer(l);}}ListNode ret = new ListNode(0);ListNode prev = ret;while(!heap.isEmpty()){ListNode t = heprev.next = t;prev.next = t;prev = t;if(t.next != null)heap.offer(t.next);}return ret.next;}

方法二解析:

这里是引用

代码:

//递归写法:public ListNode mergeKLists(ListNode[] lists) {return merge(lists,0,lists.length-1);}public ListNode merge(ListNode[] lists,int left, int right){if(left > right)return null;if(left == right)return lists[left];    //1.平分数组    int mid = (left + right) / 2;//[left,mid][mid+1,right]//2.递归处理ListNode l1 = merge(lists,left,mid);ListNode l2 = merge(lists,mid+1,right);//3.合并两个有序链表return megeToList(l1,l2);}private ListNode megeToList(ListNode l1, ListNode l2){if(l1 == null) return l2;if(l2 == null) return l1;ListNode ret = new ListNode(0);ListNode prev = ret;ListNode cur1 = l1, cur2 = l2;while(cur1 != null && cur2 != null){if(cur1.val < cur2.val){prev.next = cur1;prev = cur1;cur1 = cur1.next;}else{prev.next = cur2;prev = cur2;cur2 = cur2.next;}}if(cur1 != null) prev.next = cur1;if(cur2 != null) prev.next = cur2;return ret.next;} 

相关文章:

  • Sublime Text4 4192 安装和一键激活
  • 基于Redis实现-附近商铺查询
  • 在项目中如何对Map List等对象序列化及反序列化
  • 第二章 OpenCV篇-图像阈值的综合操作-Python
  • 【瑞萨RA4L1-SENSOR套件测评】LCD 实时显示 ADC 水位高度
  • vue中$set原理
  • AIO-1126-JD4蓝牙通讯(BLE)
  • Lucene并不是只有倒排索引一种数据结构,支持多种数据结构
  • Angular教程前言:历史、安装与用途
  • Webug4.0靶场通关笔记08- 第11关万能密码登录(SQL注入漏洞)
  • 数字智慧方案5968丨智慧农业产销一体化云平台建设方案(72页PPT)(文末有下载方式)
  • 【Docker】Dockerfile 使用
  • python如何把pdf转word
  • 高等数学-第七版-下册 选做记录 习题9-7
  • C++11新特性_自动类型推导_auto
  • 【RocketMQ】- 源码系列目录
  • 神经网络—损失函数
  • Windows服务器提权实战:常见方法、场景与防御指南
  • 2025五一杯C题五一杯数学建模思路代码文章教学:社交媒体平台用户分析问题
  • 【精选】基于数据挖掘的广州招聘可视化分析系统(大数据组件+Spark+Hive+MySQL+AI智能云+DeepSeek人工智能+深度学习之LSTM算法)
  • 增诉滥用职权罪,尹锡悦遭韩国检方追加起诉
  • 迎接八方来客:全国多地“五一”假期党政机关大院停车场免费开放
  • 魔都眼|静安光影派对五一启幕:苏河湾看徐悲鸿艺术画作
  • 中国武术协会原主席张耀庭逝世,曾促成电影《少林寺》拍摄
  • 国家能源局通报上月投诉情况:赤峰有群众反映电费异常增高,已退费
  • 牛市早报|今年第二批810亿元超长期特别国债资金下达,支持消费品以旧换新