leetcode 147. 对链表进行插入排序

对链表进行插入排序。

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

插入排序算法:

插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。
每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。
重复直到所有输入数据插入完为止。

示例 1:

输入: 4->2->1->3
输出: 1->2->3->4

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/
class Solution {public ListNode insertionSortList(ListNode head) {ListNode dumpy=new ListNode(Integer.MIN_VALUE);dumpy.next=head;ListNode pre=dumpy;while (head!=null)//遍历所以节点{ListNode temp=dumpy.next,curPre=dumpy;boolean change=false;while (temp!=head)//从当头节点到当前节点查找放置的位置{if(head.val<=temp.val)//将当前节点连到合适位置{pre.next=head.next;head.next=temp;curPre.next=head;change=true;break;}curPre=temp;temp=temp.next;} if(change)//当前节点已经变化位置的情况{head=pre.next;}else {//不需要变化位置的情况pre=head;head=head.next;}}return dumpy.next;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSP过滤器Filter配置过滤类型汇总

一、配置方法1 映射过滤应用程序中所有资源<filter> <filter-name>loggerfilter</filter-name> <filter-class>myfilter.LoggerFilter</filter-class></filter><filter-mapping> <filter-name>loggerfilter</filt…

ERP流程入门_从会计分录理解企业基本流程[转]

ERP流程入门_从会计分录理解企业基本流程 本贴写给尚未在企业工作过的朋友&#xff01;了解企业的基本流程的一个方法是看它的会计分录,我们现在来看一个完整的企业基本流程&#xff0c;它的会计分录是如何做的&#xff0c;其中有些帐户名称可能不一样&#xff0c;不过没关系&a…

萨默尔机器人_助力产业发展 西安市人工智能机器人学会正式成立

8月23日&#xff0c;西安市人工智能机器人学会在西咸新区沣东新城协同创新港正式成立。西安报业全媒体记者 冯炜 摄8月23日&#xff0c;西安市人工智能机器人学会正式成立。学会将通过市场化机制、社会化服务等方式&#xff0c;整合科技创新资源和人才培养资源&#xff0c;促进…

粒度过粗_这些书帮助我度过了第一次成为技术主管的经历

粒度过粗by Danny Perez丹尼佩雷斯(Danny Perez) 这些书帮助我度过了第一次成为技术主管的经历 (These books helped me navigate my first time being a tech lead) The tech lead was moving to another team for a long-term assignment, and I took over as the engineeri…

随便说说:在ASP.NET应用程序中上传文件

在Web程序中上传文件是很常见的需求。利用HTTP协议上传文件的方式非常有限&#xff0c;最常见的莫过于使用<input type"file" />元素进行上传。这种上传方式会将内容使用multipart/form-data方案进行编码&#xff0c;并将内容POST到服务器端。使用multipart/fo…

leetcode 148. 排序链表(归并排序)

给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 进阶&#xff1a; 你可以在 O(n log n) 时间复杂度和常数级空间复杂度下&#xff0c;对链表进行排序吗&#xff1f; 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1…

理论与哲学就是梳理无限感性经验和知性知识的工具

理论与哲学就是梳理无限感性经验和知性知识的工具&#xff0c; 是因为人脑的特性&#xff0c;或者说人脑功能的局限性而被人创造出来的思想工具。 工具服务于实践&#xff0c;并被实践所检验&#xff08;描述、解释、预见&#xff09;。 工具一旦创建就有其客观性&#xff0c;但…

记一次调用API遇到的问题

调用sonar API 接口&#xff0c;地址如下&#xff1a; http://sonar.*****.com/api/measures/search_history?componenttcmp-devops-service&metricssqale_index%2Cduplicated_lines_density%2Cncloc%2Ccoverage%2Cbugs%2Ccode_smells%2Cvulnerabilities&ps1000 url上…

h5滚动隐藏滚动条_这 10 个值得开启的隐藏功能,让你的 Chrome 释放更多潜力

上次分享了让 Chrome 浏览器用得更顺手的地址栏命令&#xff0c;跟大家整理和介绍了多个 Chrome 地址栏命令&#xff0c;利用好这些命令工具能够提升浏览器配置效率&#xff0c;让你的 Chrome 浏览器用得更顺手。这次介绍的是 Chrome 内置的实验功能&#xff0c;它被单独放在了…

redux ngrx_另一个减少Redux(NGRX)应用程序样板的指南

redux ngrxby Andrey Goncharov通过安德烈贡恰洛夫(Andrey Goncharov) 另一个减少Redux(NGRX)应用程序样板的指南 (Yet another guide to reduce boilerplate in your Redux (NGRX) app) 我们在这里要覆盖什么&#xff1f; (What are we gonna cover here?) In this article,…

leetcode 242. 有效的字母异位词

给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s “anagram”, t “nagaram” 输出: true 示例 2: 输入: s “rat”, t “car” 输出: false 代码 class Solution {public boolean isAnagram(String s, String t) {…

技巧:使用User Control做HTML生成

User Control大家肯定不会陌生&#xff0c;在使用ASP.NET的过程中&#xff0c;除了aspx页面&#xff0c;最常见的就莫过于ascx了。ascx是一个有独立逻辑的组件&#xff0c;提供了强大的复用特性&#xff0c;合理使用&#xff0c;能够大大提高开发效率。通过User Control直接生成…

Spring Boot干货系列:(二)配置文件解析

前言 上一篇介绍了Spring Boot的入门&#xff0c;知道了Spring Boot使用“习惯优于配置”&#xff08;项目中存在大量的配置&#xff0c;此外还内置了一个习惯性的配置&#xff0c;让你无需手动进行配置&#xff09;的理念让你的项目快速运行起来。所以&#xff0c;我们要想把S…

mysql常用操作记录

&#xff08;1&#xff09;判断表中一个字段是空&#xff0c;可为&#xff1a;字段名 IS NULL&#xff08;2&#xff09;类似oracle的decode作用&#xff1a;IF(字段名>0,字段名,0)&#xff08;3&#xff09;时间格式&#xff08;年-月-日&#xff09;&#xff1a;DATE_FORM…

小爱音响调用php接口_阿里API调用二(PHP)

接口地址拼合成功后&#xff0c;用curl函数post获取阿里返回的完整数据&#xff0c;将地址传入getContent()方法中&#xff0c;绝对能获取用户数据。public function getContent($url){$ch curl_init();// 初始化curl_setopt($ch,CURLOPT_URL,$apiprourlall);curl_setopt($ch,…

leetcode 452. 用最少数量的箭引爆气球(贪心算法)

在二维空间中有许多球形的气球。对于每个气球&#xff0c;提供的输入是水平方向上&#xff0c;气球直径的开始和结束坐标。由于它是水平的&#xff0c;所以纵坐标并不重要&#xff0c;因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x…

javascript编程题_如何开始使用JavaScript进行竞争性编程

javascript编程题by Priyabrata Biswas通过Priyabrata Biswas 如何开始使用JavaScript进行竞争性编程 (How to get started with Competitive Programming in JavaScript) If you’re not familiar with competitive programming, basically it is a mind sport with the aim …

hibernate Criteria(条件查询接口)

Criteria&#xff08;条件查询接口&#xff09; // 1.简单查询 List<Customer> list session.createCriteria(Customer.class).list();// 2.条件查询: Criteria criteria session.createCriteria(Customer.class); criteria.add(Restrictions.eq("name",&quo…

ElastciSearch简单总结(笔记)

前言&#xff1a; 前段时间在项目中使用了es,作为一个当前比较流行的分布式搜索引擎&#xff0c;在学习和使用它的过程中&#xff0c;踩了不少坑&#xff0c;这篇文章先简单整理了一下&#xff0c;后续会整理一下之前踩过的一些坑。 1. ElastciSearch是什么 ElasticSearch是一…

记一次ArrayList产生的线上OOM问题

前言&#xff1a;本以为(OutOfMemoryError)OOM问题会离我们很远&#xff0c;但在一次生产上线灰度的过程中就出现了Java.Lang.OutOfMemoryError:Java heap space异常&#xff0c;通过对线上日志的查看&#xff0c;最终定位到ArrayList#addAll方法中&#xff0c;出现这个问题的原…