LeetCode进阶之路(Merge k Sorted Lists)

来源:互联网 发布:vb format函数 编辑:程序博客网 时间:2024/05/18 01:41

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

题目:把k个有序的链表合并成一个新的链表。

思路:采用合并两个链表的方法,把K个链表的值都取出来放到list里面,排序后创建新的链表。

public class Solution {    public ListNode mergeKLists(ListNode[] lists) {        ListNode newNode = new ListNode(0);        ListNode head = newNode;        List<Integer> list = new ArrayList<Integer>();        for(int i = 0; i < lists.length;i++) {            while(lists[i] != null) {                list.add(lists[i].val);                lists[i] = lists[i].next;            }        }        Collections.sort(list);        for(Integer integer : list) {            ListNode n = new ListNode(integer);            head.next = n;            head = head.next;        }        return newNode.next;    }}

种一棵树最好的时间是十年前,其次是现在!


0 0
原创粉丝点击