首页 > 其他分享 >合并k个已排序链表

合并k个已排序链表

时间:2024-04-15 15:02:14浏览次数:32  
标签:head ListNode cur head1 合并 list 链表 排序

利用新的ArrayList合并k个链表

 遍历提供给我们的数组,依次得到各个头结点。

依次遍历每个头结点下的链表,把他们加入新的数组中。

利用Collections.sort()方法得到有序的数组

最后把这个新的数组转换成链表并返回。

public ListNode mergeKLists (ArrayList<ListNode> lists) {         // write code here         if(lists==null){             return null;         }         ArrayList<Integer> list=new ArrayList<>();         for(int i=0;i<lists.size();i++){             ListNode head1=lists.get(i);             while(head1!=null){             list.add(head1.val);             head1=head1.next;                 }                     }         Collections.sort(list);         ListNode head=new ListNode(0);         ListNode cur=head;         for(int i=0;i<list.size();i++){           cur.next=new ListNode(list.get(i));          cur=cur.next;           }                               head=head.next;         return head;     }

标签:head,ListNode,cur,head1,合并,list,链表,排序
From: https://www.cnblogs.com/doudou666/p/18135967

相关文章

  • 随机链表的复制
     随机链表的复制 /*//DefinitionforaNode.classNode{intval;Nodenext;Noderandom;publicNode(intval){this.val=val;this.next=null;this.random=null;}}*/classSolution{publicNode......
  • 链表中环的入口结点
       1.先用快慢指针判断是否存在环2.返回快慢指针相遇的地方,一个指针停留在那里。3.另一个指针回到头节点4.两个节点一起走,每次走一格,再次相遇的地方就是入口节点publicclassSolution{    //判断有没有环,返回相遇的地方    publicListNodehasCycle(ListN......
  • element表格自带sortable属性排序错乱问题
       参考:https://blog.csdn.net/qq_40004867/article/details/129835446?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-129835446-blog-126339196.235%5Ev43%5Epc_blog_bottom_relevance_base4&dept......
  • 八大排序算法
    八大排序冒泡排序/*稳定排序时间复杂度:O(n^2)空间复杂度:O(1)*/publicstaticvoidbubbleSort(int[]nums){for(inti=0;i<nums.length-1;i++){booleanflag=false;for(intj=0;j<nums.length......
  • SpringBoot项目中对定义的多个BeanPostProcessor排序
    前言BeanPostProcessor是Spring提供的一种扩展机制,可以让我们在bean初始化前后做一些额外的操作,Spring中的@Async,@Scheduled,@RabbitHandler等注解的底层实现都是BeanPostProcessor在起作用,如RabbitListenerAnnotationBeanPostProcessor。代码示例@Configurationpub......
  • 快速排序
    手写快速排序:packagecom.atguigu.react2024;importjava.util.Arrays;publicclassQuicklySort{publicstaticvoidmain(String[]args){int[]arr={9,5,8,7,2,3,6,3,4,1,10};quickSort(arr,0,arr.length-1);//Array......
  • hive窗口分析函数使用详解系列二之分组排序窗口函数
    1.综述我们讨论面试中各大厂的SQL算法面试题,往往核心考点就在于窗口函数,所以掌握好了窗口函数,面对SQL算法面试往往事半功倍。已更新第一类聚合函数类,点击这里阅读hive窗口函数聚合函数类本节介绍Hive聚合函数中的第二类聚合函数:分组排序窗口函数。这些函数的用法不仅仅适用于......
  • 链表2: 动态单链表
    链表2:动态单链表定义数据结构//定义链表数据结构typedefstructLNode{intdata;structLNode*next;}LNode;初始化链表//初始化链表LNode*Init_LinkList(){//返回头指针//创建头结点LNode*header=(LNode*)malloc(sizeof(LNode));hea......
  • 链表1: 静态单链表
    链表1:静态单链表单链表的结构链表包含了数据域与指针域,数据域存储数据,指针域存储下一个结点的地址链表的特点链表的优势在于数据的删改,在链表中查询第$i$个元素需要从第一个结点开始遍历链表,,因此在数据的顺序读取中链表的优势不如数组.链表的插入操作设newN......
  • JZ76 删除链表中重复的节点
    1、相似题classSolution{public:ListNode*deleteDuplicates(ListNode*head){//判空if(head==NULL)returnnullptr;ListNode*p1=head;ListNode*p2=p1->next;while(p2){......