题解 | #合并k个已排序的链表#
合并k个已排序的链表
https://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6
import java.util.ArrayList; import java.util.Collections; public class FiveMergeKLists { public ListNode mergeKLists(ArrayList<ListNode> lists) { //如果lists为空 if (lists.isEmpty()){ return null; } //创建新的list依次遍历lists中的ListNode中的元素 ArrayList<Integer> list = new ArrayList<>(); for (int i = 0; i < lists.size(); i++) { ListNode node = lists.get(i); while (node != null){ list.add(node.val); node = node.next; } } //排序 Collections.sort(list); //如果排序后为空 if (list.isEmpty()){ return null; } //list转换为链表 ListNode newHead = new ListNode(list.get(0)); ListNode cur = newHead; for (int i = 1; i < list.size(); i++) { cur.next = new ListNode(list.get(i)); cur = cur.next; } return newHead; } }Java语言求解