本文包含如下题目:
21. Merge Two Sorted Lists
75. Sort Colors
147. Insertion Sort List
148. Sort List
215. Kth Largest Element in an Array
324. Wiggle Sort II
21. Merge Two Sorted Lists
解题思路
- 简单题,不多说了;
代码
1 | class Solution |
75. Sort Colors
解题思路
- 把0一次丢到数组左边,2丢到数组右边,1的话保持不动;
代码
1 | class Solution |
147. Insertion Sort List
解题思路
- 需要新建一个链表头保存已排序的节点;
代码
1 | class Solution |
148. Sort List
解题思路
- 符合要求的排序算法有快排、堆排和归并,归并更适合用在链表中;
- 使用一个单步遍历和一个两步遍历快速找到链表的中间结点;
- 使用归并排序,最后通过merge函数将链表链接起来。
代码
1 | class Solution |
215. Kth Largest Element in an Array
解题思路
- 各种排序算法的讨论比较才是这一题的关键;
代码
1 | class Solution |
324. Wiggle Sort II
解题思路
- 首先进行排序,然后从中间位置分为两个部分,都按照降序进行重组;
代码
1 | class Solution |