leetcode-148. 排序链表
题目描述
给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。
示例 1:

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

输入:head = [-1,5,3,4,0] 输出:[-1,0,3,4,5]
示例 3:
输入:head = [] 输出:[]
思路
使用快慢指针完成+合并两个有序链表完成归并排序
# Definition for singly-linked list.
class ListNode(object):def __init__(self, val=0, next=None):self.val = valself.next = next
class Solution(object):def sortFunc(self, head, tail):if not head:return headif head.next == tail:head.next = Nonereturn headslow = fast = headwhile fast != tail:slow = slow.nextfast = fast.nextif fast != tail:fast = fast.nextmid = slowreturn self.merge(self.sortFunc(head, mid), self.sortFunc(mid, tail))def merge(self, head1, head2):pre = ListNode(-1)head, head1, head2 = pre, head1, head2while head1 and head2:if head1.val <= head2.val:head.next = head1head1 = head1.nextelse:head.next = head2head2 = head2.nexthead = head.nextif head1:head.next = head1if head2:head.next = head2return pre.nextdef sortList(self, head):""":type head: ListNode:rtype: ListNode"""return self.sortFunc(head, None)if __name__ == '__main__':s = Solution()head = ListNode(1)phead = headdata = [4, 3, 7, 5] for i in data:node = ListNode(i)phead.next = nodephead = phead.nexthead = s.sortList(head)while head:print(head.val),head = head.next相关文章:
leetcode-148. 排序链表
题目描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3&#x…...
16 html网页服务和nginx服务
第十六次7.29 1.静态页面 1安装httpd [rootweb ~]# yum -y install httpd 2.真机访问页面 [rootweb html]# echo "静态html文件" > index.html 传入照片再次访问 静态资源,根据开发着保存在项目资源目录中的路径访问静态页面的资源 2.Apache 1.安…...
C语言:扫雷游戏实现
一、扫雷游戏的分析和设计 扫雷游戏想必大家都玩过吧,初级的玩法是在一个9*9的棋盘上找到没有雷的格子,而今天我们就要做的就是9*9扫雷游戏的实现。 1、游戏功能和规则 使用控制台实现经典的扫雷游戏游戏可以通过菜单实现继续玩或者退出游戏扫雷的棋盘…...
算法入门:Java实现排序、查找算法
链接:算法入门:Java实现排序、查找算法 (qq.com) 冒泡/选择/插入/希尔排序代码 (qq.com) 快排/归并/堆排/基数排序代码 (qq.com)...
【初阶数据结构篇】顺序表的实现(赋源码)
文章目录 本篇代码位置顺序表和链表1.线性表2.顺序表2.1 概念与结构2.2分类2.2.1 静态顺序表2.2.2 动态顺序表 2.3 动态顺序表的实现2.3.1动态顺序表的初始化和销毁及打印2.3.2动态顺序表的插入动态顺序表的尾插动态顺序表的头插动态顺序表的在指定位置插入数据 2.3.3动态顺序表…...
移动式气象站:便携科技的天气守望者
在科技日新月异的今天,我们身边的许多设备都在向着更加智能化、便携化的方向发展。而在气象观测领域,移动式气象站的出现,不仅改变了传统气象观测的固有模式,更以其灵活性和实时性,在气象监测、灾害预警等领域发挥着越…...
软件测试必备 - 14个接口与自动化测试练习网站
随着互联网和移动应用的快速发展,接口和自动化测试的重要性日益凸显。越来越多的企业开始重视API测试,因为它不仅能提升开发效率,还能确保系统的稳定性和安全性。这些练习网站为测试人员提供了宝贵的资源,帮助他们掌握必要的技能,应对日益复杂的测试需求。 在软件测试的世…...
基于 HTML+ECharts 实现的数据可视化大屏案例(含源码)
数据可视化大屏案例:基于 HTML 和 ECharts 的实现 数据可视化已成为企业决策和业务分析的重要工具。通过直观、动态的图表展示,数据可视化大屏能够帮助用户快速理解复杂的数据关系,发现潜在的业务趋势。本文将介绍如何利用 HTML 和 ECharts 实…...
vardaccico前端私有库
vardacico docker pull verdaccio/verdaccio:4 docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio Docker | Verdaccio 拷贝docker中的配置到宿主机 进入docker内部 docker exec -it verdaccio /bin/sh 进入到指定目录 cd /verdaccio 开始拷贝到指定目…...
先用先发!小样本故障诊断新思路!Transformer-SVM组合模型多特征分类预测/故障诊断(Matlab)
先用先发!小样本故障诊断新思路!Transformer-SVM组合模型多特征分类预测/故障诊断(Matlab) 目录 先用先发!小样本故障诊断新思路!Transformer-SVM组合模型多特征分类预测/故障诊断(Matlab&#…...
学习大数据DAY26 简单数据清洗练习和 Shell 脚本中的数据库编程
目录 上机练习 14 mysql 命令 sql 语句实现步骤 shell 脚本导入 csv 格式文件到 mysql 数据库 secure-file-priv 特性 把文件拷贝到 mysql 指定目录下 上机练习 15 mysqldump 命令 上机练习 16 上机练习 14 运用上一节课学的 Shell 工具完成 1. 清洗数据《infotest.t…...
开发业务(3)——swoole和聊天室入门开发
在普通的PHP代码里面,我们不需要考虑性能和异步问题,包括不限于我们想要使用php搭建一个http服务器(在node/python/go里面都有http模块,但是PHP没有这种功能)。而同样的原因,很难实现php游戏的开发…...
Linux系统服务——【web,http协议,apache服务和nginx服务】(sixteen day)
一、web基础以及http协议 1、web基本概念和常识 前端开发一般用uniapp. 1、Web:为用户提供的一种在互联网上浏览信息的服务,Web 服务是动态的、可交互的、跨平台的和图形化的。 2、Web 服务为用户提供各种互联网服务,这些服务包括信息浏览服务…...
100、Python 关于时间日期的一些操作
在Python中,我们用于处理时间和日期相关的类型最常用的模块是datetime模块。该模块提供了很多与时间日期相关的类,对我们处理时间日期变得很方便。 以下是一些常见的关于时间日期的操作。 一、datetime类 1、获取当前日期和时间(年、月、日…...
【精通Redis】Redis命令详解
引言 Redis是一个内存数据库,在学习它的内部原理与实现之前,我们首先要做到的就是学会使用,学会其丰富的命令操作。 一、字符串 Redis的字符串类型之前笔者的一篇入门介绍中曾经说过,不是简单的只存人可以阅读的字符串…...
项目经理的开源工具指南:优化您的选择过程
国内外主流的10款开源项目管理系统对比:PingCode、Worktile、禅道、Teambition、Gogs、码云 Gitee、Jira、Redmine、ProjectLibre、OpenProject。 在选择合适的开源项目管理系统时,很多团队面临诸多挑战:功能是否全面?易用性如何&…...
如何防御IP劫持
摘要 IP劫持是一种网络攻击方式,攻击者通过各种手段获取对某个IP地址的控制权,并将其用于恶意目的。这种攻击可能会导致数据泄露、服务中断等严重后果。本文将介绍IP劫持的基本概念、攻击方式以及防御策略,并提供一些实际的代码示例。 IP劫…...
C++绝对值
在C中,你可以使用标准库中的abs函数来获取一个整数的绝对值。对于浮点数,也有一个类似的函数叫做fabs。下面是如何使用这些函数的示例: 对于整数 对于整数,你可以使用std::abs函数,它存在于<cstdlib>头文件中。…...
C# dataGridView 去掉左边多出来空列
1.问题 在使用winform做界面程序时,dataGridView控件创建好后,左侧会多出一列为空,如何删除呢 2.解决方法 你可以在属性窗口中进行设置 如图: 将RowHeadersVisible 属性设置为False 或者代码设置 this.dataGridView1.RowHea…...
esp32
买了单片机模块,学8266...
深入解析acts-as-taggable-on:Rails标签系统的终极实现指南
深入解析acts-as-taggable-on:Rails标签系统的终极实现指南 【免费下载链接】acts-as-taggable-on A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts. 项目地址: https://gitcode.com/gh_mirrors/ac/acts-as-tagg…...
如何用LLVIP数据集提升夜间行人检测?YOLOv5实战教程(附避坑指南)
夜间行人检测实战:用LLVIP数据集优化YOLOv5模型的完整指南 当路灯成为城市夜晚唯一的光源,传统监控摄像头的视野开始变得模糊不清——这正是计算机视觉工程师在安防领域最常遇到的挑战之一。LLVIP数据集的出现为这一困境提供了突破性的解决方案…...
蓝桥杯c++新手如何起步?快马生成带详解的入门代码示例
作为一名刚接触蓝桥杯C竞赛的新手,最头疼的往往不是算法本身,而是连基础语法都还没摸透就要面对复杂题目。最近在准备比赛时,我发现用传统方式学习效率很低——手动敲完代码后,经常因为不熟悉语法细节卡壳,调试半天也找…...
Boss-Key:重新定义窗口隐私管理的智能办公伴侣
Boss-Key:重新定义窗口隐私管理的智能办公伴侣 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 在数字化办公时代,窗…...
Dragon Knight CTF 2024 实战复盘:从SSRF到SQL注入的完整攻防解析
1. SSRF漏洞的发现与利用 在Dragon Knight CTF 2024的Web赛题中,我们首先遇到了一个典型的SSRF(服务器端请求伪造)漏洞。这个漏洞隐藏在c3s4f.php文件中,通过简单的F12开发者工具检查就能发现端倪。 我习惯性地先查看页面源代码…...
LeetCodehot100-21 合并两个有序链表
class Solution { public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {if(list1nullptr||list2nullptr){return list1nullptr?list2:list1;}ListNode* headlist1->val<list2->val?list1:list2;ListNode* cur1head->next;ListNode* cur2headlist…...
别再只会用0x22读VIN了!手把手教你用UDS诊断DID读取ECU的隐藏数据(附实战报文分析)
解锁ECU隐藏数据:UDS诊断中DID的高级应用实战 在汽车电子诊断领域,UDS协议中的0x22服务(读取数据标识符)常被工程师们简化为读取VIN码等基础信息的工具。但DID的真正潜力远不止于此——它就像一把可以打开ECU内部数据宝库的万能钥…...
Wiki.js日志系统终极指南:从记录到安全监控的全面解析
Wiki.js日志系统终极指南:从记录到安全监控的全面解析 【免费下载链接】wiki- Wiki.js | A modern and powerful wiki app built on Node.js 项目地址: https://gitcode.com/GitHub_Trending/wiki78/wiki- 当您的团队在Wiki.js中协作编辑文档时,是…...
InstructPix2Pix解决修图难题:图片结构不崩,只改你想改的部分
InstructPix2Pix解决修图难题:图片结构不崩,只改你想改的部分 1. 颠覆传统的智能修图革命 想象一下:你有一张完美的旅行照片,但背景中的天气不尽如人意;或者一张专业人像,需要微调表情却不想重拍。传统修…...
「理」的征程(C++引入2——变量、运算与赋值(初步)(上))
在上一篇博文中,我教给大家了C的基础知识——输出,那么今天,让我们迈出踏入C殿堂的第二步——变量、运算与赋值。(虽然说这篇文章好像只讲了变量)(P.S.我在学并查集的时候发现了一个非常棒的博文࿰…...
