ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

day84(2.12)——leetcode面试经典150

day84(2.12)——leetcode面试经典150

23. 合并 K 个升序链表

23. 合并K个升序链表

题目:

题解:

/** * 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) { ListNode root = new ListNode(); List<Integer> list = new ArrayList<>(); for(int i=0;i<lists.length;i++) { ListNode node = lists[i]; ListNode cur = node; while(cur != null) { list.add(cur.val); cur = cur.next; } } if (list.isEmpty()) { return null; } list.sort(null); ListNode t = new ListNode(); ListNode c = t; for(int i=0;i<list.size();i++) { t.val = list.get(i); if(i!=list.size()-1) { t.next = new ListNode(); } else { t.next = null; } t = t.next; } return c; } }
返回列表