public ListNode mergeKLists(ArrayList<ListNode> lists) {
// Start typing your Java solution below
// DO NOT write main() function
ListNode head = null;
ListNode cur = head;
if(lists != null && lists.size() > 0){
while(true){
ListNode min = null;
for(ListNode node : lists){
if(node != null){
if(min == null){
min = node;
}else{
min = min.val >= node.val ? node:min;
}
}
}
if(min == null){
return head;
}
if(head == null){
head = min;
cur = head;
}else{
cur.next = min;
cur = cur.next;
}
ListNode next = min.next;
lists.remove(min);
if(next != null){
lists.add(next);
}
}
}
return head;
}Merge k Sorted Lists
最新推荐文章于 2021-12-08 15:59:42 发布
本文提供了一种使用Java实现的高效算法来合并K个已排序的链表。该算法遍历每个链表找到最小节点并连接到结果链表中,直至所有节点被处理完成。
562

被折叠的 条评论
为什么被折叠?



