题目:
给定单个链表的头
head
,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。插入排序 算法的步骤:
- 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。
- 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。
- 重复直到所有输入数据插入完为止。
来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
示例:
示例 1:
输入:head = [4,2,1,3]
输出:[1,2,3,4]
示例 2:
输入:head = [-1,5,3,4,0]
输出:[-1,0,3,4,5]
解法:
转成列表,列表排序,转成链表。
代码:
python# 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.next nums.sort() head = point = ListNode(-5001) for num in nums: point.next = ListNode(num) point = point.next return head.next
力扣:147. 对链表进行插入排序(Python3)
恽劼恒2023-11-02 11:43
相关推荐
python算法(魔法师版)6 分钟前
基于机器学习鉴别中药材的方法shanks6613 分钟前
【PyQt】学习PyQt进行GUI开发从基础到进阶逐步掌握详细路线图和关键知识点JNU freshman1 小时前
力扣第435场周赛讲解眼镜哥(with glasses)1 小时前
蓝桥杯python基础算法(2-2)——基础算法(B)——模拟(上)weixin_307779131 小时前
流媒体娱乐服务平台在AWS上使用Presto作为大数据的交互式查询引擎的具体流程和代码職場上的造物主2 小时前
高清种子资源获取指南 | ✈️@seedlinkbot〖是♂我〗2 小时前
自定义数据集 使用scikit-learn中svm的包实现svm分类赵鑫亿2 小时前
7.DP算法iqay3 小时前
【C语言】填空题/程序填空题1抱抱宝3 小时前
Pyecharts之特殊图表的独特展示