利用新的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