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

dz建站与wordpress纳雍网站建设公司

dz建站与wordpress,纳雍网站建设公司,大地资源在线观看视频在线观看,哪里有网站建站公司目录 题目描述:23. 合并 K 个升序链表(困难)题目接口解题思路1代码解题思路2代码 PS: 题目描述:23. 合并 K 个升序链表(困难) 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合…

目录

  • 题目描述:23. 合并 K 个升序链表(困难)
    • 题目接口
    • 解题思路1
    • 代码
    • 解题思路2
    • 代码
  • PS:

题目描述:23. 合并 K 个升序链表(困难)

给你一个链表数组,每个链表都已经按升序排列。

请你将所有链表合并到一个升序链表中,返回合并后的链表。

LeetCode做题链接:LeetCode-合并 K 个升序链表

示例 1:

输入:lists = [[1,4,5],[1,3,4],[2,6]]
输出:[1,1,2,3,4,4,5,6]
解释:链表数组如下:
[1->4->5,1->3->4,2->6
]
将它们合并到一个有序链表中得到。
1->1->2->3->4->4->5->6

示例 2:

输入:lists = []
输出:[]

示例 3:

输入:lists = [[]]
输出:[]

提示:

k == lists.length
0 <= k <= 10^4
0 <= lists[i].length <= 500
-10^4 <= lists[i][j] <= 10^4
lists[i] 按 升序 排列
lists[i].length 的总和不超过 10^4

题目接口

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeKLists(ListNode[] lists) {}
}

解题思路1

用一个变量 res 来维护以及合并的链表,第 i 次循环把第 i 个链表和 res 合并,答案保存到 res 中。

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeKLists(ListNode[] lists) {if (lists == null || lists.length == 0) {return null;}ListNode res = lists[0];for (int i = 1; i < lists.length; i++) {if (lists[i] == null) {continue;}res = mergeTwoLists(res, lists[i]);}return res;}private ListNode mergeTwoLists(ListNode res, ListNode list) {if (res == null) {return list;} else if (list == null) {return res;} else if (res.val < list.val) {res.next = mergeTwoLists(res.next, list);return res;} else {list.next = mergeTwoLists(res, list.next);return list;}}
}

成功!
在这里插入图片描述

解题思路2

可以两两有序合并的方式,然后重复两两有序合并的过程,最后得到一个有序的链表

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeKLists(ListNode[] lists) {return merge(lists, 0, lists.length - 1);}public ListNode merge(ListNode[] lists, int l, int r) {if (l == r) {return lists[l];}if (l > r) {return null;}int mid = (l + r) >> 1;return mergeTwoLists(merge(lists, l, mid), merge(lists, mid + 1, r));}public ListNode mergeTwoLists(ListNode a, ListNode b) {if (a == null || b == null) {return a != null ? a : b;}ListNode head = new ListNode(0);ListNode tail = head, aPtr = a, bPtr = b;while (aPtr != null && bPtr != null) {if (aPtr.val < bPtr.val) {tail.next = aPtr;aPtr = aPtr.next;} else {tail.next = bPtr;bPtr = bPtr.next;}tail = tail.next;}tail.next = (aPtr != null ? aPtr : bPtr);return head.next;}
}

成功!
在这里插入图片描述

PS:

感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个喔~

http://www.yayakq.cn/news/102167/

相关文章:

  • 网站建设需要多少怎么优化推广自己的网站
  • 个人网站可以做咨询吗90平方装修全包价格
  • 怎么在百度创建网站织梦者网站模板
  • 东莞seo网站建设公司如何做环保管家网站
  • 网站建设浙江公司工会网站群建设方案
  • seo 网站结构优化建设银行在网站上开通短信提醒
  • 鞍山市建设局网站视频网站设计与开发
  • 微信人生里面微网站怎么做网站建设初步规划方案
  • 做淘宝链接网站韩雪冬 网站
  • 无锡网站的优化移动云网站建设
  • 网站免费的中国网是什么级别的媒体
  • html5网站布局教程百度网页排名怎么提升
  • 无锡网站开发定制开发wordpress数据分析
  • 珠海企业网站建设报价手机做兼职的网站有哪些
  • 网站用Access做数据库物联网有前途吗
  • 最基本的网络营销站点全网品牌推广公司
  • 快速创建一个网站新媒体营销推广方案
  • 做淘宝需要知道什么网站吗wordpress nginx 安全
  • 无锡前洲行业网站建设wordpress调用分类产品
  • 德阳市建设局官方网站安全月网站设计咨询
  • 手机网站建设咨询厦门网站排名
  • 省级门户网站建设教学互动网站的设计
  • 网站内容建设的原则锡盟本地网站建设
  • 建筑招投标信息网专业seo网络营销公司
  • 流量网站怎么盈利平面设计培训班大概多少钱
  • 网站建设优化一体直播网站功能怎么做
  • 如何做网站数据库代理公司注册哪家好
  • 西部数码 成品网站新浪微舆情大数据平台
  • 图书翻页的动画 做网站启动用手机免费建站平台下载
  • 秦皇岛昌黎县建设局网站山东省建设部官方网站