2019独角兽企业重金招聘Python工程师标准>>>

public static ListNode insertionSortList(ListNode head) {if(head == null || head.next == null){return head;}ListNode firstNode = head;int index = 0;while(firstNode != null){index++;firstNode = firstNode.next;}firstNode = head;ListNode[] listNodeArray = new ListNode[index];int k = 0 ;while(firstNode != null){listNodeArray[k] = firstNode;firstNode = firstNode.next;k++;}firstNode = head;int i = 0;for(i = 0 ; i < listNodeArray.length - 1 ; i++){ListNode tmpNode = listNodeArray[i];int minNext = i;for(int j = i + 1  ; j < listNodeArray.length ; j++){if(tmpNode.val > listNodeArray[j].val){//System.out.println("2:" + listNodeArray[j].val);minNext = j;tmpNode = listNodeArray[j];}}tmpNode = listNodeArray[i];listNodeArray[i] = listNodeArray[minNext];listNodeArray[minNext] = tmpNode;    if(i > 0){listNodeArray[i-1].next = listNodeArray[i];}}if(i <= listNodeArray.length -1){listNodeArray[i-1].next = listNodeArray[i];}listNodeArray[ listNodeArray.length -1].next = null;//System.out.println(listNodeArray[0].val);if(listNodeArray.length > 1){
//            for(int i = 1 ; i < listNodeArray.length ; i++){
//                listNodeArray[i-1].next = listNodeArray[i];
//
//            }
//            listNodeArray[ listNodeArray.length -1].next = null;
//            firstNode = listNodeArray[0];
//            while(firstNode != null){
//                System.out.println(firstNode.val);
//                firstNode = firstNode.next;
//            }return listNodeArray[0];}else{return listNodeArray[0];}
//        //head = listNodeArray[k - 1];
//        System.out.println("test " + k + " = " + listNodeArray.length + " last: " + listNodeArray[k - 1].val);
//        while(firstNode != null){
//            System.out.println(firstNode.val);
//            firstNode = firstNode.next;
//        }
//        return firstNode;}

转载于:https://my.oschina.net/LosersAFC/blog/226166

insertionSortList相关推荐

  1. LeetCode之 insertion-sort-list insertion-sort-list

    尝试着刷刷一些经典LeetCode题练练手感,随手做了两道看起来不起眼但还是需要一些细节的题: 1. 题目描述 Given a binary tree, find its minimum depth. ...

  2. insertion-sort-list——链表、插入排序、链表插入

    Sort a linked list using insertion sort. PS:需要考虑left为head且只有一个数时,此时left->==NULL,若right<left则应更 ...

  3. Leetcode每日一题:147.insertion-sort-list(对链表进行插入排序)

    思路:因为链表的特性,插入排序无法从当前元素往前遍历,所以这里直接从头开始查找插入位置,分头部插入.中间插入和尾部插入: ListNode *insertionSortList(ListNode *h ...

  4. 冒泡链表排序java_链表排序(冒泡、选择、插入、快排、归并、希尔、堆排序)...

    以下排序算法的正确性都可以在LeetCode的链表排序这一题检测.本文用到的链表结构如下(排序算法都是传入链表头指针作为参数,返回排序后的头指针) struct ListNode { int val; ...

  5. 链表排序(冒泡、选择、插入、快排、归并、希尔、堆排序)

    这篇文章分析一下链表的各种排序方法. 以下排序算法的正确性都可以在LeetCode的链表排序这一题检测.本文用到的链表结构如下(排序算法都是传入链表头指针作为参数,返回排序后的头指针) struct ...

  6. 搞懂单链表常见面试题

    搞懂单链表常见面试题 Hello 继上次的 搞懂基本排序算法,这个一星期,我总结了,我所学习和思考的单链表基础知识和常见面试题,这些题有的来自 <剑指 offer> ,有的来自<程序 ...

  7. 插入排序 链表 java_Java实现 LeetCode 147 对链表进行插入排序

    147. 对链表进行插入排序 对链表进行插入排序. 插入排序的动画演示如上.从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示). 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将 ...

  8. 在单链表写入一组数据代码_链表常见操作和15道常见面试题

    什么是单链表 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer),简单来说链表并不像数组那样 ...

  9. LeetCode Insertion Sort List(单链表插入排序)

    题意:给出一个未排序好的单链表,用插入排序来实现排序 代码如下: class Solution {public ListNode insertionSortList(ListNode head){if ...

最新文章

  1. linux gcc 安装目录,Linux安装其他版本GCC的方法
  2. ffmpeg3.4 yuv编码为h264
  3. python_循环删除list中的元素,有坑啊!
  4. 原神创意工坊工具箱2.0源码-小程序前端源码
  5. filco蓝牙不好用_「原创」开箱 FILCO 斐尔可 蓝牙双模键盘+更换键帽
  6. 800*480bmp图片显示
  7. SDRAM控制器——仲裁模块的实现
  8. 实现MySQL读写分离---maxscale代理服务器配置(详解)
  9. c语言求圆锥的表面积和体积_c语言问题,输入圆锥的半径和高,得出表面积和体积。请问程序该如何改....
  10. 中控,中控系统,中控会议室
  11. workman与php通信
  12. 查询pytorch文档的实用方法
  13. vSphere Client无法连接vSphere server解决一例
  14. 机器学习算法之聚类算法拓展:Mini Batch K-Means算法
  15. 大明战神戚继光带给程序员的启示
  16. java北京招聘_JAVA应届毕业生去北京找工作,薪资大约多少?
  17. css中的position和float属性
  18. 参加2020全国大学生数学建模竞赛有感
  19. 将大文件夹下的小文件夹全部统一命名为拼音
  20. 装机U盘制作教程(图文并茂)

热门文章

  1. SQLServer中Case的用法
  2. const、static、内部链接属性和外部链接属性整理
  3. ARC在Release与Debug模式中内存释放的坑
  4. Oracle Database 11.2.0.1(静默安装)
  5. [CLR via C#]25. 线程基础
  6. Yii框架官方指南系列14——基础知识:开发流程
  7. python脚本 通过rsa private key 生成 publickey
  8. JS可以写操作系统?Windows 95被装进Electron App
  9. 此为太阳历的技术支持博客
  10. I.MX6 Android 5.1 纯Linux、U-Boot编译