1.简述: 描述 给定一个节点数为n的无序单链表,对其按升序排序。 数据范围: 要求:时间复杂度 示例1 输入: {1,3,2,4,5} 返回值: {1,2,3,4,5}示例2 输入: {-1,0,-2} 返回值: {-2,-1,0} 2.代码
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;
}
}