`
blue2048
  • 浏览: 183814 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[leetcode]Insertion Sort List-list 插入排序 java

阅读更多

注意以下几项

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;
    }
}

 

分享到:
评论

相关推荐

    js-leetcode题解之147-insertion-sort-list.js

    javascript js_leetcode题解之147-insertion-sort-list.js

    python-leetcode题解之147-Insertion-Sort-List

    python python_leetcode题解之147_Insertion_Sort_List

    gasstationleetcode-leetcode-in-niuke:在牛客网上的在线编程中的leetcode在线编程题解

    copy-list-with-random-pointer 复杂度 single-number 动态规划 candy 贪心 gas-station 动态规划 palindrome-partitioning-ii 动态规划 triangle 树 sum-root-to-leaf-numbers 动态规划 distinct-subsequences 递归...

    看leetcode吃力-my-learning-note:大三下学期之资料结构与演算法课程内容与练习

    看leetcode吃力资料结构与演算法学习笔记 Week1 中秋节放假 Week2 说明上课方式与计分规则 Week3 完成LeetCode 707. Design Linked List Week4 完成LeetCode 155. Min Stack 完成LeetCode 232. Implement Queue ...

    leetcode530-my-learning-note:我的学习笔记

    第四、五周(InsertionSort、QuickSort) 第六周(Heap Sort) 第七周(Merge Sort) 第八周(Set Mismatch) 第九周(无新进度) 第十周(BST) 第十一周(Hash Table) 第十二、十三周(DFS(Stack) & BFS(Queue)) 第十四、十五周...

    LeetCode:LeetCode解决方案

    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-...

    算法-leetcode-剑指offer上的题很多

    - **插入排序(Insertion Sort)**: 构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 - **归并排序(Merge Sort)**: 采用分治法,将已有序的子序列合并,得到完全有序的序列。 - **...

    LeetCode最全代码

    * [Linked List](https://github.com/kamyu104/LeetCode#linked-list) * [Stack](https://github.com/kamyu104/LeetCode#stack) * [Queue](https://github.com/kamyu104/LeetCode#queue) * [Heap]...

    leetcode-answer-and-analysis(part).zip_图形图像处理_Java_

    8. **Insertion sort list** (插入排序列表): 插入排序是基础排序算法之一,这里要求在链表上实现。在Java中,需要遍历链表并逐个插入新元素,保持已排序部分的有序性。 9. **Binary Tree Postorder Traversal** ...

    leetcode切割分组-algorithm-java:Java实现的算法

    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 ...

    lrucacheleetcode-leetcode:leetcode

    lru缓存leetcode 力码 大批 152-最大乘积子阵列,169-多数元素,189-旋转阵列,198-房屋强盗 二分法 153-在旋转排序数组(II)中查找最小值,162-查找峰值元素 结构 155 分钟堆栈,173 二进制搜索树迭代器,HARD:...

    leetcode中文版-ts-datastructures-algorithms:和我一起学算法吧!

    插入排序(Insertion Sort) 快速排序(Quick Sort) 希尔排序(Shell Sort) 归并排序(Merge Sort) 堆排序(Heap Sort) 计数排序(Counting Sort) 桶排序(Bucket Sort) 基数排序(Radix Sort) 排序算法的...

    Leetcode答案(c++版)

    **1.12 Insertion Sort List (147)** - **问题描述**:对链表进行插入排序。 - **解题思路**: - 创建一个虚拟头节点,用于记录排序后的链表起始位置。 - 依次将原链表中的节点插入到已排序部分的适当位置。 **...

    leetcode答案-python:Python

    将资料分成已排序、未排序两部份,依序由未排序中的第一笔(正处理的值),插入到已排序中的适当位置插入时由右而左比较,直到遇到第一个比正处理的值小的值,再插入比较时,若遇到的值比正处理的值大或相等,则将值往...

    leetcode答案-leetcode:leetcode

    leetcode 答案 leetcode 08/18 Unique Paths 应该是简单的数学排列组合问题,提炼一下其实就一句话:有m个黑球,n个白球,有多少种不同的排列方式。 我数学太差,没找到答案,直接上了动态规划。 Unique Paths II ...

    leetcode

    2. **排序算法**:快速排序(Quick Sort)、归并排序(Merge Sort)、堆排序(Heap Sort)和插入排序(Insertion Sort)等是常见的排序算法。在LeetCode上,你需要理解它们的工作原理,并能根据具体情况选择合适的...

Global site tag (gtag.js) - Google Analytics