当前位置: 首页 > news >正文

力扣: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.lryc.cn/news/215142.html

相关文章:

  • OpenCV4(C++)——形态学(腐蚀、膨胀)
  • C++设计模式_24_Visitor 访问器
  • el-tabel表格加个多选框
  • Go语言集成开发环境(IDE):GoLand 2023中文
  • opencv c++ canny 实现 以及与halcon canny的对比
  • 阿里云无影升级2.0 云电脑解决方案时代到来
  • 【案例展示】多物理场仿真软件介绍
  • k8s的RBAC中,clusterrole, rolebinding 是什么关系谁先谁后
  • myabtis流式查询
  • K8S的pod创建过程
  • java修仙传之海岛奇遇
  • 电子商务平台对接电商供应链,不得不说的开放平台电商API接口
  • 【JAVA学习笔记】 57 - 本章作业
  • 【题解】[GenshinOI Round 3] P9816 少项式复合幂
  • 手写数字识别--神经网络实验
  • 双11消费遇冷?如何让消费回归心智原点
  • 一分钟了解:什么是Image Matting?
  • 微信小程序 跳转客服页面
  • 10个简单增删改查的免费Spring Boot源代码项目
  • mysql数据表设计
  • pytorch复现4_Resnet
  • 【数据库】形式化关系查询语言(一):关系代数Relational Algebra:基本运算、附加关系代数、扩展的关系代数
  • 【计算机网络】计算机网络和因特网
  • JAVA面经整理(9)
  • IPD(集成产品开发)模式下的产品研发流程
  • Flutter GetX的使用
  • 【Amazon】AWS实战 | 快速发布安全传输的静态页面
  • 前后端登录的密码加密和解密
  • 使用 Curl 和 DomCrawler 下载抖音视频链接并存储到指定文件夹
  • 取消Excel打开密码的两种方法