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

leetcode 23.合并k个升序链表

思路:将链表数组中的val元素全部取出来,然后放在数组中进行排序,之后再用一重循环创造结点并连接即可。

注意点:首先,链表数组可能是空的,需要特判;

其次,链表数组中的链表可能是空的,需要特判。

最后,数组在创建的时候不要根据题目的范围创建,需要首先计算出链表数组中的全部元素个数,然后创建相同数目的大小数组。

/**
 * 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.length<=0)
        return null;
        int k=0;
        int len=0;
        for(int i=0;i<lists.length;i++){
            ListNode t=lists[i];
            while(t!=null){
                len++;
                t=t.next;
            }
        }
        if(len==0)
        return null;
        int []arr=new int[len];
        for(int i=0;i<lists.length;i++){
            ListNode t=lists[i];
            while(t!=null){
                arr[k++]=t.val;
                t=t.next;
            }
        }
        Arrays.sort(arr);
        ListNode head=null;
        head=new ListNode(arr[0]);
        ListNode dummy=head;
        for(int i=1;i<k;i++){
            ListNode tmp=new ListNode(arr[i]);
            head.next=tmp;
            head=head.next;
        }
        return dummy;
    }
}

http://www.dtcms.com/a/12344.html

相关文章:

  • JVM系列(十) -垃圾收集器介绍
  • 面试题.04
  • 【Python】数据可视化之分类图
  • 【Datawhale X 李宏毅苹果书 AI夏令营】《深度学习详解》Task3 打卡
  • EvoSuite使用总结
  • 是谁还不会flink的checkpoint呀~
  • Java传输本地目录到远程服务器
  • WSL 在 Windows 上删除已经安装的 Ubuntu | WSL 再次重装 Ubuntu | cv2.imshow() 弹窗支持
  • Java语言的Netty框架+云快充协议1.5+充电桩系统+新能源汽车充电桩系统源码
  • 基于FreeRTOS的STM32多功能手表
  • Java Spring Boot 项目中的密码加密与验证开发案例手册
  • Redis集群
  • C++11 ---- 右值引用和移动语义
  • SpringBoot依赖之Spring Boot DevTools热部署开发增效工具
  • 【Spring Boot 3】【Web】解析获取HTTP请求参数
  • 2. 卷积神经网络(CNN):图像识别的核心技术
  • MySQL 数据库管理与操作指南
  • k8s集群本地搭建,使用gitlab、harbor、jenkens、cicd来实现devops自动化构建
  • c++中析构函数是否一定要为虚函数
  • 轴承知识大全,详细介绍(附3D图纸免费下载)
  • APP长文本内容编辑器功能实现方案
  • Linux 一个简单的中断信号实现
  • 【网络安全 | 渗透工具】Cencys+Shodan使用教程
  • 【C语言】---- 位操作处理
  • KCP实现原理探析
  • 【python计算机视觉编程——4.照相机模型与增强现实】
  • 【操作系统】线程同步之自旋锁
  • SQLite3 数据类型深入全面讲解
  • 猎板道出PCB免费打样真相:制造成本究竟给了谁?
  • AI技术颠覆游戏开发:谷歌DeepMind GameNGen实时生成《DOOM》探秘