1.简述:
给定一个节点数为n的无序单链表,对其按升序排序。
数据范围:
要求:时间复杂度
输入:
{1,3,2,4,5}
返回值:
{1,2,3,4,5}
输入:
{-1,0,-2}
返回值:
{-2,-1,0}
2.代码实现:
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类 the head node
* @return ListNode类
*/
public ListNode sortInList (ListNode head) {
// write code here
ListNode cur = head;
List<Integer> list = new ArrayList<>();
while(cur != null){
list.add(cur.val);
cur = cur.next;
}
Collections.sort(list);
ListNode dummy = new ListNode(-1);
cur = dummy;
for(int v : list){
ListNode node = new ListNode(v);
cur.next = node;
cur = node;
}
return dummy.next;
}
}