博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
147. Insertion Sort List
阅读量:6253 次
发布时间:2019-06-22

本文共 1653 字,大约阅读时间需要 5 分钟。

Sort a linked list using insertion sort.

clipboard.png
A graphical example of insertion sort. The partial sorted list (black) initially contains only the first element in the list.
With each iteration one element (red) is removed from the input data and inserted in-place into the sorted list

Algorithm of Insertion Sort:

1.Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list.2.At each iteration, insertion sort removes one element from the input data, finds the location it belongs within the sorted list, and inserts it there.3.It repeats until no input elements remain.

Example 1:

Input: 4->2->1->3Output: 1->2->3->4

Example 2:

Input: -1->5->3->4->0Output: -1->0->3->4->5

难度:medium

题目:用直插法实现链表排序。

思路:插入排序。

Runtime: 28 ms, faster than 56.45% of Java online submissions for Insertion Sort List.

Memory Usage: 39.9 MB, less than 100.00% of Java online submissions for Insertion Sort List.

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */class Solution {    public ListNode insertionSortList(ListNode head) {        if (null == head) {            return head;        }                ListNode dummyHead = new ListNode(0);        while (head != null) {            ListNode tNode = head;            head = head.next;            tNode.next = null;            ListNode nHead = dummyHead;            while (nHead.next != null && tNode.val > nHead.next.val) {                nHead = nHead.next;            }            tNode.next = nHead.next;            nHead.next = tNode;        }                return dummyHead.next;    }}

转载地址:http://swfsa.baihongyu.com/

你可能感兴趣的文章
python 调用aiohttp
查看>>
mysql 案例~ mysql故障恢复
查看>>
Spring Boot中使用MyBatis注解配置详解
查看>>
MatLab实现FFT与功率谱
查看>>
答《漫话ID》中的疑问:UniqueID和ClientID的来源
查看>>
【转】Asp.net控件开发学习笔记整理篇 - 服务器控件生命周期
查看>>
Linux下的shell编程(一)BY 四喜三顺
查看>>
javascript一些小技巧
查看>>
I00024 出钱买羽
查看>>
linux下文件的一些文件颜色的含义
查看>>
websotrm注册码
查看>>
迭代器(Iterable)和for..in..的三种协议
查看>>
判断浏览器是否为顶层窗口
查看>>
数据结构化与保存
查看>>
跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
查看>>
服务器设计笔记(3)-----消息队列
查看>>
poj 1797 Heavy Transportation(最短路径Dijkdtra)
查看>>
基于WinDbg的内存泄漏分析
查看>>
气象预警采集及推送
查看>>
【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表
查看>>