力扣:147. 对链表进行插入排序(Python3)

题目:

给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。

插入排序 算法的步骤:

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

来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:head = [4,2,1,3]
输出:[1,2,3,4]


示例 2:

输入:head = [-1,5,3,4,0]
输出:[-1,0,3,4,5]

解法:

转成列表,列表排序,转成链表。

代码:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def insertionSortList(self, head: Optional[ListNode]) -> Optional[ListNode]:nums = []while head:nums.append(head.val)head = head.nextnums.sort()head = point = ListNode(-5001)for num in nums:point.next = ListNode(num)point = point.nextreturn head.next

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

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

相关文章

c++ Vector 学习

vevtor 是c 中自带得动态数组&#xff0c;dynamic array array can hold different values/objects of same type 可以装不同得类型或者对象 dynamic size can be changed at runtime 可以运行得时候改变 要使用的话&#xff0c;先引入 #include <vector> std::vector…

性能压力测试主要目标及步骤

性能压力测试是软件开发生命周期中至关重要的一部分&#xff0c;旨在评估应用程序或系统在高负载和极端条件下的性能表现。这种测试有助于发现性能瓶颈、资源耗尽和错误&#xff0c;以确保应用程序在真实使用情况下的可靠性和稳定性。本文将探讨性能压力测试的概念、方法和最佳…

ps提示vcruntime140.dll无法继续执行此代码的多种解决方法分享

我在安装Photoshop软件时遇到了一个问题&#xff0c;即在运行过程中弹出了一个错误提示框&#xff0c;显示“由于找不到vcruntime140.dll&#xff0c;无法继续执行此代码”&#xff0c;我通过查找资料了解到vcruntime140.dll是一个动态链接库文件&#xff0c;它是Visual C Redi…

AI时代,ChatGPT与文心一言选哪一个?

&#x1f388;个人公众号:&#x1f388; :✨✨✨ 可为编程✨ &#x1f35f;&#x1f35f; &#x1f511;个人信条:&#x1f511; 为与不为皆为可为&#x1f335; 你们平时都是在什么情况下使用GPT的呢&#xff1f;为何使用&#xff1f;都使用什么平台的&#xff1f; 针对以上问…

模板引擎技术---FreeMarker

什么是模板引擎 模板引擎是一种用于生成动态内容的工具&#xff0c;它将数据和静态模板结合起来&#xff0c;生成最终的文档&#xff08;通常是HTML、XML、JSON等格式&#xff09;&#xff0c;这些文档可以被浏览器或其他客户端解析并展示给用户。模板引擎的主要目的是将数据和…

树结构及其算法-二叉树遍历

目录 树结构及其算法-二叉树遍历 一、中序遍历 二、后序遍历 三、前序遍历 C代码 树结构及其算法-二叉树遍历 我们知道线性数组或链表都只能单向从头至尾遍历或反向遍历。所谓二叉树的遍历&#xff08;Binary Tree Traversal&#xff09;&#xff0c;简单的说法就是访问树…

大长案例 - 经典长连接可水平扩容高可用架构

文章目录 需求设计 需求 支撑百万充电桩充电业务的长连接可水平扩容高可用架构需求如下&#xff1a; 可扩展性&#xff1a;系统应该具备高度可扩展性&#xff0c;能够轻松应对新增充电桩的需求。任何时候都应该容易添加更多的充电桩&#xff0c;而不会影响整体性能。 负载均衡…

【SpringSecurity】快速入门—通俗易懂

目录 1.导入依赖 2.继承WebSecurityConfigurerAdapter 3.实现UserDetailsService 4.记住我 5.用户注销 6.CSRF理解 7.注解功能 7.1Secured 7.2PreAuthorized 7.3PostAuthorized 7.4PostFilter 7.5ZPreFilter 8.原理解析 1.导入依赖 首先&#xff0c;在pom.xml文…

matplotlib入门-基金走势图

一、matplotlib简介 matplotlib是一个Python 2D绘图库&#xff0c;开发者仅需要几行代码就可以生成曲线图、柱状图、散点图甚至动画。需要另外安装&#xff0c;一条命令搞定。 pip install matplotlib 它的绘图接口在matplotlib.pyplot模块中&#xff0c;pyplot提供和MATLIB…

Mac终端学习

命令1&#xff1a;ifconfig 作用&#xff1a;列出本机所有的网络设备以及其上面的配置&#xff0c;主要指的是ip地址和mac地址 其他用法&#xff1a;sudo ifconfig en4 add 10.10.10.12 netmask 255.255.255.0 作用&#xff1a;给en4加入别的网段 其他用法&#xff1a;sudo i…

让你笑到不行的笑话短视频接口,快来试试!

11在当今这个快节奏的社会中&#xff0c;笑话成为了许多人调节情绪的有效方法。如今&#xff0c;短视频平台已经成为了最受欢迎的娱乐方式之一&#xff0c;因此&#xff0c;将笑话和短视频结合起来&#xff0c;成为了一种很有趣的方式来带给我们欢乐。今天我们要介绍的是挖数据…

JMeter的使用——傻瓜式学习【下】

目录 前言 1、自动录制脚本 1.1、原理 1.2、JMeter脚本录制 2、JMeter直连数据库 2.1、直连数据库的作用 2.2、JMeter直连数据库的步骤 案例&#xff1a; 3、JMeter的逻辑控制器 3.1、if控制器 案例&#xff1a; 3.2、循环控制器 案例&#xff1a; 3.3、ForEach控…

NB-IOT的粮库挡粮门异动监测装置

一种基于NBIOT的粮库挡粮门异动监测装置,包括若干个NBIOT开门监测装置,物联网后台管理系统,NBIOT低功耗广域网络和用户访问终端;各个NBIOT开门监测装置通过NBIOT低功耗广域网络与物联网后台管理系统连接,物联网后台管理系统与用户访问终端连接.NBIOT开门监测装置能够对粮库挡粮…

从瀑布模式到水母模式:ChatGPT如何赋能软件研发全流程

文章目录 前言内容简介作者简介专家推荐读者对象直播预告 前言 计算机技术的发展和互联网的普及&#xff0c;使信息处理和传输变得更加高效&#xff0c;极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术&#xff0c;也在不断地影响和…

Gcov 查看代码覆盖率

GCOV 工具简介 gcov是一个测试代码覆盖率的工具。 它是 gcc 自带的查看代码覆盖率的工具&#xff0c;无需额外安装&#xff0c;在嵌入式的 arm-eabi-none-gcc 中同样可以使用&#xff08;需要重写部分系统函数&#xff09;。 使用效果如下图所示&#xff1a; 程序运行完成后…

Ubuntu自建git服务器

Ubuntu 安装 gitlab-ce sudo apt-get update sudo apt-get install gitlab-ce 安装成功 sudo apt-get install gitlab-ce 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列【新】软件包将被安装&#xff1a;gitlab-ce 升…

GitHub项目监控

目录 github开放平台接口限流 监控某个仓库的更新状态 对于常用Github的用户来说&#xff0c;经常有一些自动化的需求。比如监控某些项目的更新情况并实时拉取&#xff0c;比如监控github全网上传的代码是否携带了公司的APIKEY&#xff0c;SECRETKEY等… github开放平台 gith…

26 行为型模式-命令模式

1 命令模式介绍 2 命令模式原理 3 命令模式实现 模拟酒店后厨的出餐流程,来对命令模式进行一个演示,命令模式角色的角色与案例中角色的对应关系如下: 服务员: 即调用者角色,由她来发起命令. 厨师: 接收者,真正执行命令的对象. 订单: 命令中包含订单 /*** 订单类**/ public cl…

2023年Zotero最新同步教程-使用TeraCloud的25G免费空间实时跨设备同步文献

文章目录 1. 前言2.1. 注册账号2.1.1. 填写注册信息2.1.2. 创建账号成功2.1.3. 注意2.2. 扩容空间2.3. 打开WebDAV 3. Zotero配置WebDAV同步3.1. 设置网址3.2. 验证服务器3.3. 文件同步成功 4. 结语 1. 前言 Zotero免费版的存储空间是300m&#xff0c;一个图文PDF动辄两三M&am…

智慧灌溉平台

1.知识百科 智慧灌溉是运用物联网、云计算、大数据等新一代信息技术&#xff0c;结合农业生产的实际需求&#xff0c;通过传感器采集土壤温湿度、光照强度等信息&#xff0c;利用无线传感网络传输到中央控制系统进行智能控制。智慧灌溉系统由传感器&#xff08;水位传感器&…