LintCode 173:链表插入排序
描述
用插入排序对链表排序
样例
样例 1:输入: 0->null输出: 0->null样例 2:输入: 1->3->2->0->null输出 :0->1->2->3->null
代码部分
/*** Definition for ListNode* public class ListNode {* int val;* ListNode next;* ListNode(int x) {* val = x;* next = null;* }* }*/public class Solution {/*** @param head: The first node of linked list.* @return: The head of linked list.*/public ListNode insertionSortList(ListNode head) {// write your code here// 这个dummy的作用是,把head开头的链表一个个的插入到dummy开头的链表里// 所以这里不需要dummy.next = head;ListNode dummy=new ListNode(0);//head遍历当前链表元素while(head!=null){ListNode hnext=head.next;//next指向head的后一个元素//node满足node.val<head.val && node.next.val>=head.val//使得head可插入在node节点之后一个元素ListNode node=dummy;while(node.next!=null&&node.next.val<head.val)node=node.next;//将当前head元素添加进dummy链表,也就是插入node之后head.next=node.next;node.next=head;//继续考察下一个head元素head=hnext;}return dummy.next;}
}
补充说明
创建一个dummy链表,从head链表中依次向dummy链表中按插入排序规则添加节点。
下图中原链表其实是不用删除,只需要向后遍历即可,即图中原链表的头节点对应head节点。
每次dummy节点都需要遍历到最后一个小于head节点的值位置,这样head节点插入进来就保持了排序
LintCode 173:链表插入排序相关推荐
- lintcode :链表插入排序
题目: 链表插入排序 用插入排序对链表排序 样例 Given 1->3->2->0->null, return 0->1->2->3->null 解题: ...
- LeetCode 147. Insertion Sort List 链表插入排序 C++/Java
LeetCode 147. Insertion Sort List 链表插入排序 C++/Java Sort a linked list using insertion sort. A graphic ...
- 6-4 单链表插入排序 (15分)
6-4 单链表插入排序 (15分) 单链表插入排序 ###目的: 掌握单链表的应用和插入排序的思想. ###内容: 编写一个函数insertion_sort,对一个无序单链表采用插入排序的方式,将其按 ...
- c语言 静态链表插入排序,数据结构C语言版 表插入排序
西门豹治邺奇计 数据结构C语言版 表插入排序.txt两个人吵架,先说对不起的人,并不是认输了,并不是原谅了.他只是比对方更珍惜这份感情./* 数据结构C语言版 表插入排序 算法10.3 P267-P2 ...
- LeetCode Insertion Sort List(单链表插入排序)
题意:给出一个未排序好的单链表,用插入排序来实现排序 代码如下: class Solution {public ListNode insertionSortList(ListNode head){if ...
- LintCode_173 链表插入排序
题目 用插入排序对链表排序 样例 Given 1->3->2->0->null, return 0->1->2->3->null C++代码 ListN ...
- c语言 静态链表插入排序,数据结构 - 表插入排序 具体解释 及 代码(C++)
表插入排序 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24323125 表插入排序(List I ...
- Lintcode 167. 链表求和 221. 链表求和 II 题解
167. 链表求和 描述 你有两个用链表代表的整数,其中每个节点包含一个数字.数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头.写出一个函数将两个整数相加,用链表形式返回和. 样例 给 ...
- Insertion Sort List(单链表插入排序)
来源:https://leetcode.com/problems/insertion-sort-list Sort a linked list using insertion sort. 方法: 1. ...
最新文章
- 使用cURL执行HTTP请求(使用PROXY)
- 几款优秀的jQuery 插件
- 【JUC并发编程05】集合的线程安全
- Python 内置方法和属性应用:反射和单例
- jsp头文件的内容/response.setHeader
- java hibernate 分页查询_4 Hibernate HQL查询,分页查询
- AWS:启动安装了APOC的Neo4j实例
- 网络操作系统 第七章 管理TCP/IP网络
- 直播地址公布|第八届“数学、计算机与生命科学交叉研究” 青年学者论坛--特别云论坛...
- ZooKeeper(一)linux上单机与集群的搭建
- python 判断线程状态_Python 线程和进程
- netstat命令常见用法
- pandas中size方法_eplot,在pandas中流畅的使用pyecharts!
- 作业报告封面模版(物联20级)
- hdu4565(矩阵快速幂)
- Windows 10系统下Outlook日历怎么显示农历?
- 利用亚马逊云免费搭建服务器的踩坑之旅-创建你的实例
- Web 开发最有用的50款 jQuery 插件集锦——《图片特效篇》
- 如何使用Lumberyard制作特效[【1】——Overview
- DHCP 和 DHCP-Realy 功能演示完整示例
热门文章
- pdf转换成jpg转换器的使用方法
- NVME NSSR (Nvme Sub System Reset)
- 若语句char a = ‘\72‘; 则变量a包含几个字符?‘\72‘是否在ASCII值的范围之内?
- Python基础教程之Matplotlib-基础绘图
- 电脑数据没有了怎么恢复?笔记本电脑数据丢失怎样恢复
- 2021邵阳市区三中高考成绩查询,2021年邵阳市普通高考科目及各科分数
- 阿里大数据之路 总述
- 庆祝祖国60岁生日!
- Storj:A Peer-to-Peer Cloud Storage Network(点对点云存储网络)
- 模型动态测试工具 TPT 18更多新特性——HiL测试、需求管理