1.简述:

描述

给定一个节点数为n的无序单链表,对其按升序排序。

数据范围:

要求:时间复杂度 

示例1

输入:

{1,3,2,4,5}

返回值:

{1,2,3,4,5}
示例2

输入:

{-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;
}
}