#yyds干货盘点# 面试必刷TOP101:单链表的排序

Posted 97的风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# 面试必刷TOP101:单链表的排序相关的知识,希望对你有一定的参考价值。

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;

以上是关于#yyds干货盘点# 面试必刷TOP101:单链表的排序的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点# 面试必刷TOP101:岛屿数量

#yyds干货盘点# 面试必刷TOP101:反转字符串

#yyds干货盘点# 面试必刷TOP101:删除有序链表中重复的元素-I

#yyds干货盘点# 面试必刷TOP101:跳台阶

#yyds干货盘点# 面试必刷TOP101:最长公共子串

#yyds干货盘点# 面试必刷TOP101:链表中的节点每k个一组翻转