【Leetcode刷题篇 】leetcode147 对链表进行插入排序
发布日期:2021-06-29 15:33:52
浏览次数:3
分类:技术文章
本文共 780 字,大约阅读时间需要 2 分钟。
对链表进行插入排序。
插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。
每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。
插入排序算法:
- 1.插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。
- 2.每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。
- 3.重复直到所有输入数据插入完为止。
示例 1:
输入: 4->2->1->3 输出: 1->2->3->4
示例 2:
输入: -1->5->3->4->0 输出: -1->0->3->4->5
public ListNode insertionSortList(ListNode head) { // 链表 if(head==null||head.next==null){ return head; } ListNode dummy = new ListNode(-1); dummy.next = head; while(head!=null&&head.next!=null){ // 先找到没排好序的 if(head.val<=head.next.val){ head = head.next; continue; } // 然后对其找前后 ListNode pre = dummy; while(pre.next.val
转载地址:https://codingchaozhang.blog.csdn.net/article/details/109901239 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月30日 03时27分42秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SpringBoot执行定时任务
2021-07-03
win7 64位下redis的安装
2021-07-03
winform中读写SQLite数据库例子
2021-07-03
ECharts上手例子
2021-07-03
SQLite 查询时异常:该字符串未被识别为有效的 DateTime 错误
2021-07-03
c# Socket发送与接收方法
2021-07-03
C#实现快捷键(系统热键)响应
2021-07-03
Windows下nginx+tomcat实现简单的负载均衡
2021-07-03
winform中SQLite的分页
2021-07-03
C# WinForm窗体及其控件自适应各种屏幕分辨率
2021-07-03
winform中dataGridView的简单分页
2021-07-03
dataGridView几个小技巧
2021-07-03
RecyclerView Item 行高定义无效的BUG
2021-07-03
markdown发生HTML渲染组件出错的解决方案
2021-07-03
android ScrollView嵌套WebView高度为0的BUG
2021-07-03
android 混淆代码后 app 运行报错时, 如何精准定位报错位置
2021-07-03
android 定位并通过百度在线查询详细地址教程
2021-07-03
android TextView 首行缩进与部分文字改变颜色大小效果
2021-07-03
android app 优化启动体验, 不闪白屏并且快速展示 splash
2021-07-03
INSTALL_FAILED_NO_MATCHING_ABIS 解决方案
2021-07-03