新博文地址:[leetcode]Insertion Sort List
Insertion Sort List
Sort a linked list using insertion sort.
用插入排序,对一个单链表进行排序。
插入排序就不多讲了,单链表还是数组,道理都是一样的,只不过单链表略微麻烦一点,好在算法比较简单,难度不大。
public ListNode insertionSortList(ListNode head) { if(head == null || head.next == null){ return head; } ListNode hhead = new ListNode(Integer.MIN_VALUE); hhead.next = head; ListNode begin = head.next; head.next = null; while(begin != null){ ListNode tem = hhead; while(tem.next != null){ if(tem.next.val < begin.val){ tem = tem.next; }else{ break; } } if(tem.next != begin){ ListNode node = begin.next; begin.next = tem.next; tem.next = begin; begin = node; }else{ tem.next = begin; begin = begin.next; } } return hhead.next; }
相关推荐
python python_leetcode题解之147_Insertion_Sort_List
javascript js_leetcode题解之147-insertion-sort-list.js
* [Linked List](https://github.com/kamyu104/LeetCode#linked-list) * [Stack](https://github.com/kamyu104/LeetCode#stack) * [Queue](https://github.com/kamyu104/LeetCode#queue) * [Heap]...
**1.12 Insertion Sort List (147)** - **问题描述**:对链表进行插入排序。 - **解题思路**: - 创建一个虚拟头节点,用于记录排序后的链表起始位置。 - 依次将原链表中的节点插入到已排序部分的适当位置。 **...
Insertion Sort List 完成作业Quick sort Week6 10/11 国庆弹性放假 Week7 完成作业Heap sort Week8 完成作业Merge sort Week9 Week10 完成作业Binary Search Tree Week11 Week12 完成作业Hash table Week13 Week14 ...
- **插入排序(Insertion Sort)**: 构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 - **归并排序(Merge Sort)**: 采用分治法,将已有序的子序列合并,得到完全有序的序列。 - **...
LeetCodeLeetCode solutions(Java)树Minimum Depth of Binary Tree栈evaluate-reverse-polish-notation穷举max-points-on-a-line链表sort-list排序insertion-sort-list树binary-tree-postorder-traversal树binary-...
lru缓存leetcode 力码 大批 152-最大乘积子阵列,169-多数元素,189-旋转阵列,198-房屋强盗 二分法 153-在旋转排序数组(II)中查找最小值,162-查找峰值元素 结构 155 分钟堆栈,173 二进制搜索树迭代器,HARD:...
leetcode 答案 leetcode 08/18 Unique Paths 应该是简单的数学排列组合问题,提炼一下其实就一句话:有m个黑球,n个白球,有多少种不同的排列方式。...Insertion Sort List 在这里遇到前所未遇的惨败——提交了
leetcode 答案About Me 我叫做林宏霖,绰号是呱呱。 我喜欢打排球,最喜欢的食物是芒果 我有一个很可爱的女友 Week1 中秋节放假 课程、分数说明 Week2 Linked List Linked list(连结串列)是一种常见的资料结构,其...
insertion-sort-list 树 binary-tree-postorder-traversal 树 binary-tree-preorder-traversal 链表 linked-list-cycle-ii 链表 linked-list-cycle 链表 copy-list-with-random-pointer 复杂度 single-number 动态...
第四、五周(InsertionSort、QuickSort) 第六周(Heap Sort) 第七周(Merge Sort) 第八周(Set Mismatch) 第九周(无新进度) 第十周(BST) 第十一周(Hash Table) 第十二、十三周(DFS(Stack) & BFS(Queue)) 第十四、十五周...
2. **排序算法**:快速排序(Quick Sort)、归并排序(Merge Sort)、堆排序(Heap Sort)和插入排序(Insertion Sort)等是常见的排序算法。在LeetCode上,你需要理解它们的工作原理,并能根据具体情况选择合适的...
leetcode中文版 本教程是在下从零入门学算法的沉淀,希望能帮助到你~ :partying_face: PS: 在下还有一些其他的文章,欢迎关注~ 1. 基本概念 时间复杂度 空间复杂度 算法的特性和设计原则 2. 数据结构 栈(Stack) ...
leetcode切割分组 The algorithms implemented in Java Project Description sort the sort algorithm ds the data structure:stack/list/linked list/queue sort Name Time Complexity Space Complexity Stable ...
8. **Insertion sort list** (插入排序列表): 插入排序是基础排序算法之一,这里要求在链表上实现。在Java中,需要遍历链表并逐个插入新元素,保持已排序部分的有序性。 9. **Binary Tree Postorder Traversal** ...