一、题目
合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。
二、题解
public ListNode mergeKLists (ArrayList<ListNode> lists) {
ArrayList<Integer> arr = new ArrayList<>();
ListNode ret = new ListNode();
ListNode temp;
for (ListNode listNode : lists) {
temp = listNode;
while (temp != null) {
arr.add(temp.val);
temp = temp.next;
}
}
arr.sort(Integer::compareTo);
temp = ret;
for (int i = 0; i < arr.size(); i++) {
temp.val = arr.get(i);
if (temp.next == null && i != arr.size() - 1) {
temp.next = new ListNode();
temp = temp.next;
}
}
if(ret.val==0&&ret.next==null){
return null;
}
return ret;
}
}