题目描述:在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 O(nlogn)的时间复杂度第一时间就是归并排序了,然后要常数级空间,那就不能用递归。 原地归并 public ListNode sortList(ListNode head) { //如果只有一个节点直接返回 i ...
分类:
编程语言 时间:
2020-11-11 15:53:14
阅读次数:
6
链表的排序有很多方式,这里记录一下归并排序,关键点2个: 归并排序的过程和快慢指针法找中间结点,直接上代码。 class Solution { public: ListNode* sortList(ListNode* head) { if (!head || !head->next) return ...
分类:
编程语言 时间:
2020-04-06 17:33:04
阅读次数:
92
字典 Dictionary
集 HashSet/SortSet
有序列表 SortList
不变的集合 ImmutableArray
并发集合 ...
分类:
编程语言 时间:
2020-04-04 22:59:23
阅读次数:
132
1.归 ListNode* sortList(ListNode* head) { if (head == nullptr || head->next == nullptr) return head; // 1.将待排序序列分为两部分 ListNode* pre = nullptr, *slow = ...
分类:
编程语言 时间:
2020-02-08 00:36:48
阅读次数:
80
1 class Solution: 2 def arrayRankTransform(self, arr: List[int]) -> List[int]: 3 n = len(arr) 4 if n == 0: 5 return [] 6 sortlist = sorted(arr) 7 dic ...
分类:
其他好文 时间:
2020-01-26 10:15:40
阅读次数:
97
```java class Solution { public ListNode sortList(ListNode head) { if (head == null || head.next == null) { return head; } ListNode slow = head, fast ...
分类:
编程语言 时间:
2019-08-18 21:48:31
阅读次数:
90
Sort a linked list in O(n log n) time using constant space complexity. //利用归并排序的思想 class Solution { public ListNode sortList(ListNode head) { if (head ...
分类:
其他好文 时间:
2019-04-09 16:34:21
阅读次数:
152
#include "stdio.h" #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType r[MAXSIZE+1]; int length; }SortList; /* 冒泡排序:BubbleSort */ void ... ...
分类:
编程语言 时间:
2019-01-03 12:03:39
阅读次数:
183
#include "stdio.h" #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType r[MAXSIZE+1]; int length; }SortList; void crelist(SortList *L) {... ...
分类:
编程语言 时间:
2019-01-03 10:52:54
阅读次数:
202
class Solution { public: ListNode* sortList(ListNode* head) { multimap mul; while(head){ mul.insert(make_pair(head->val,head)); head=head->next; } ... ...
分类:
其他好文 时间:
2018-10-14 02:00:31
阅读次数:
176