注意以下几项
1. 题目没有说按从小打到排序
2. 排序的时候需要判断前驱为空,后继为空的情况
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode insertionSortList(ListNode head) { if(head == null){ return head; } ListNode p = head.next; head.next = null; while (p!=null) { ListNode temp = p.next; ListNode sortP = head; ListNode sortPParent = null; int i = 0; while (sortP!=null){ if(p.val < sortP.val){ if(sortPParent !=null){ sortPParent.next = p; } p.next = sortP; if(i == 0){ head = p; } break; } sortPParent = sortP; if(sortP.next == null){ sortP.next=p; p.next=null; break; } sortP=sortP.next; i++; } p = temp; } return head; } }
相关推荐
javascript js_leetcode题解之147-insertion-sort-list.js
python python_leetcode题解之147_Insertion_Sort_List
copy-list-with-random-pointer 复杂度 single-number 动态规划 candy 贪心 gas-station 动态规划 palindrome-partitioning-ii 动态规划 triangle 树 sum-root-to-leaf-numbers 动态规划 distinct-subsequences 递归...
看leetcode吃力资料结构与演算法学习笔记 Week1 中秋节放假 Week2 说明上课方式与计分规则 Week3 完成LeetCode 707. Design Linked List Week4 完成LeetCode 155. Min Stack 完成LeetCode 232. Implement Queue ...
第四、五周(InsertionSort、QuickSort) 第六周(Heap Sort) 第七周(Merge Sort) 第八周(Set Mismatch) 第九周(无新进度) 第十周(BST) 第十一周(Hash Table) 第十二、十三周(DFS(Stack) & BFS(Queue)) 第十四、十五周...
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-...
- **插入排序(Insertion Sort)**: 构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 - **归并排序(Merge Sort)**: 采用分治法,将已有序的子序列合并,得到完全有序的序列。 - **...
* [Linked List](https://github.com/kamyu104/LeetCode#linked-list) * [Stack](https://github.com/kamyu104/LeetCode#stack) * [Queue](https://github.com/kamyu104/LeetCode#queue) * [Heap]...
8. **Insertion sort list** (插入排序列表): 插入排序是基础排序算法之一,这里要求在链表上实现。在Java中,需要遍历链表并逐个插入新元素,保持已排序部分的有序性。 9. **Binary Tree Postorder Traversal** ...
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 ...
lru缓存leetcode 力码 大批 152-最大乘积子阵列,169-多数元素,189-旋转阵列,198-房屋强盗 二分法 153-在旋转排序数组(II)中查找最小值,162-查找峰值元素 结构 155 分钟堆栈,173 二进制搜索树迭代器,HARD:...
插入排序(Insertion Sort) 快速排序(Quick Sort) 希尔排序(Shell Sort) 归并排序(Merge Sort) 堆排序(Heap Sort) 计数排序(Counting Sort) 桶排序(Bucket Sort) 基数排序(Radix Sort) 排序算法的...
**1.12 Insertion Sort List (147)** - **问题描述**:对链表进行插入排序。 - **解题思路**: - 创建一个虚拟头节点,用于记录排序后的链表起始位置。 - 依次将原链表中的节点插入到已排序部分的适当位置。 **...
将资料分成已排序、未排序两部份,依序由未排序中的第一笔(正处理的值),插入到已排序中的适当位置插入时由右而左比较,直到遇到第一个比正处理的值小的值,再插入比较时,若遇到的值比正处理的值大或相等,则将值往...
leetcode 答案 leetcode 08/18 Unique Paths 应该是简单的数学排列组合问题,提炼一下其实就一句话:有m个黑球,n个白球,有多少种不同的排列方式。 我数学太差,没找到答案,直接上了动态规划。 Unique Paths II ...
2. **排序算法**:快速排序(Quick Sort)、归并排序(Merge Sort)、堆排序(Heap Sort)和插入排序(Insertion Sort)等是常见的排序算法。在LeetCode上,你需要理解它们的工作原理,并能根据具体情况选择合适的...