【代码随想录】链表

2024.5.11-2024.5.15

移除链表元素

		#判断头节点是否空,#并且头节点为要删除的值,头节点向后移while head and head.val==val:head=head.nextif not head: returncur=head#当前指针指向的下一个元素为val,当前指针指向下一个的下一个#否则,当前指针向后移动一位while cur.next:if cur.next.val==val:cur.next=cur.next.nextelse:cur=cur.nextreturn head

设计链表

class ListNode:def __init__(self,val):self.val=valself.next=Noneclass MyLinkedList(object):def __init__(self):self.size=0self.head=ListNode(0)def get(self, index):""":type index: int:rtype: int"""if index<0 or index>=self.size:return -1cur=self.headfor i in range(index+1):cur=cur.nextreturn cur.valdef addAtHead(self, val):""":type val: int:rtype: None"""#这个是实现从头部节点加入数据的代码部分# p=ListNode(val)# p.next=self.head.next# self.head.next=p# self.size+=1#这个是调用类内已经写好的addAtIndex函数self.addAtIndex(0,val)def addAtTail(self, val):""":type val: int:rtype: None"""#这个是实现从尾部节点加入数据的代码部分# cur=self.head# p=ListNode(val)# p.next=None# for i in range(self.size):#     cur=cur.next# cur.next=p# self.size+=1#这个是调用类内已经写好的addAtIndex函数self.addAtIndex(self.size,val)def addAtIndex(self, index, val):""":type index: int:type val: int:rtype: None"""if index<0 or index>self.size:return -1cur=self.headfor i in range(index):cur=cur.nextp=ListNode(val)p.next=cur.nextcur.next=pself.size+=1def deleteAtIndex(self, index):""":type index: int:rtype: None"""if index<0 or index>=self.size:return -1cur=self.headfor i in range(index):cur=cur.nextcur.next=cur.next.nextself.size-=1

反转链表

自己实现的

        pre=Nonecur=headif cur==None: return headtmp=cur.nextwhile tmp:cur.next=prepre=curcur=tmptmp=tmp.nextcur.next=prereturn cur

参照代码随想录更改的

 		pre=Nonecur=headwhile cur:tmp=cur.nextcur.next=prepre=curcur=tmpreturn pre

两两交换链表中的节点

我的垃圾代码,拼拼凑凑

  		dummy_head = ListNode(next = head)pre=dummy_headif dummy_head.next==None: return headcur=pre.nextbeh=cur.nextwhile beh:tmp=beh.nextpre.next=behbeh.next=curcur.next=tmppre=curcur=tmpif tmp!=None:beh=tmp.nextelse:beh=Nonereturn dummy_head.next

删除链表中的倒数第N个节点

 		dummy=ListNode(next=head)slow=dummyfast=dummyfor i in range(n):fast=fast.nextwhile fast.next:fast=fast.nextslow=slow.nextslow.next=slow.next.nextreturn dummy.next 

链表相交

		p1,p2=headA,headBAsize,Bsize=0,0while p1:p1=p1.nextAsize+=1while p2:p2=p2.nextBsize+=1if Asize-Bsize>=0:p1,p2=headB,headAAsize,Bsize=Bsize,Asizeelse:p1,p2=headA,headBfor _ in range(Bsize-Asize):p2=p2.nextwhile p1:if p1==p2:return p1p1=p1.nextp2=p2.nextreturn None

环形链表II

		fast,slow=head,headwhile fast and fast.next:fast=fast.next.nextslow=slow.nextif slow==fast:x1=headx2=slowwhile x1!=x2:x1=x1.nextx2=x2.nextreturn x1

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

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

相关文章

Win7远程桌面连接不上:原因及专业解决方案

Win7远程桌面连接作为一种方便的工具&#xff0c;使得用户可以从一台计算机远程访问和操作另一台计算机。然而&#xff0c;有时用户可能会遇到Win7远程桌面连接不上的情况&#xff0c;这可能是由于多种原因导致的。 一、原因分析 1. 网络设置问题&#xff1a;确保计算机与远程…

Java 语言的特点分析及应用

Java语言自问世以来&#xff0c;因其独特的设计理念和广泛的应用领域&#xff0c;成为了编程语言中的一颗璀璨明星。以下是对Java语言特点的详细分析及其实际应用场景&#xff0c;希望能帮助面试者更好地理解和掌握Java的优势。 1. 简单易学 Java的语法简单&#xff0c;类似于…

可用在vue自动导入的插件unplugin-auto-import

在大多数vue3开发中&#xff0c;基本所有页面都会引用vue3 componsition api&#xff0c;如下代码 想这种vue3 架构中自带的api&#xff0c;如果在全局配置一下的话&#xff0c;就可以减少一部分代码量&#xff0c;只是在代码编译的时候&#xff0c;会添加相应的引用&#xff…

【Stable Diffusion】 训练方法篇

一、四种模型训练方法简介 Stable Diffusion 有四种训练模型的方法&#xff1a;Textual Inversion、Hypernetwork、LoRA 和 Dreambooth 。它们的训练方法存在一定差异&#xff0c;我们可以通过下面对比来评估使用哪种训练方式最适合你的项目。 如果你知道模型中已经可以产生你…

企业架构系统之-IT系统建设如何做好技术选型

背景 近日有幸与行业同仁交流工作心得&#xff0c;在讨论中&#xff0c;他们提到一个平时工作当中我们都会遇到和经历的一个问题&#xff1a;作为架构师&#xff0c;在日常工作中应如何进行技术选型&#xff1f;面对众多框架和组件中&#xff0c;我们又应如何选择&#xff0c;…

Postgresql源码(128)深入分析JIT中的函数内联llvm_inline

相关 《Postgresql源码&#xff08;127&#xff09;投影ExecProject的表达式执行分析》 《LLVM的ThinLTO编译优化技术在Postgresql中的应用》 《LLVM&#xff08;5&#xff09;ORC实例分析》 1 JIT优化效果 create table t1(i int primary key, j int, k int); insert into t1…

Google IO 2024有哪些看点呢?

有了 24 小时前 OpenAI 用 GPT-4o 带来的炸场之后&#xff0c;今年的 Google I/O 还未开始&#xff0c;似乎就被架在了一个相当尴尬的地位&#xff0c;即使每个人都知道 Google 将发布足够多的新 AI 内容&#xff0c;但有了 GPT-4o 的珠玉在前&#xff0c;即使是 Google 也不得…

秋招算法——AcWing101——拦截导弹

文章目录 题目描述思路分析实现源码分析总结 题目描述 思路分析 目前是有一个笨办法&#xff0c;就是创建链表记录每一个最长下降子序列所对应的节点的链接&#xff0c;然后逐个记录所有结点的访问情况&#xff0c;直接所有节点都被访问过。这个方法不是很好&#xff0c;因为需…

一件代发海外仓系统解决方案:提升效率,海外仓管理更轻松

现在跨境电商的发展真的太快了&#xff0c;很多商家也开始转战跨境&#xff0c;希望能打开国际市场。作为跨境电商非常重要的一环&#xff0c;海外仓的需求自然也越来越大。 随着海外仓市场的火爆&#xff0c;越来越多的海外仓企业都意识到&#xff0c;提升海外仓运营的效率变得…

互联网摸鱼日报(2024-05-15)

互联网摸鱼日报(2024-05-15) 36氪新闻 宇树发布 Unitree G1人形机器人&#xff0c;9.9万元起 | 最前线 腾讯游戏恢复流水增长&#xff0c;金融科技与企业服务收入占比持续超三成 好利来推的茶饮副牌“好茶”&#xff0c;有点霸王茶姬的感觉 OpenAI全部的秘密&#xff0c;藏…

消防物资存储|基于SSM+vue的消防物资存储系统的设计与实现(源码+数据库+文档)

消防物资存储系统 目录 基于SSM&#xff0b;vue的消防物资存储系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1用户功能模块 2 管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介…

动规解决01背包/完全背包精讲

还不会用动态规划解决01背包/完全背包&#xff1f;看这一篇文章就够了&#xff01; 首先我们要明白什么是01背包和完全背包。 背包问题总体问法就是&#xff1a; 你有一个背包&#xff0c;最多能容纳的体积是V。 现在有n个物品&#xff0c;第i个物品的体积为vi​ ,价值为wi​…

干货教程【AI篇】| Topaz Video Enhance AI超好用的视频变清晰变流畅的AI工具,免费本地使用

关注文章底部公众号&#xff0c;回复关键词【tvea】即可获取Topaz Video Enhance AI。 一款非常好用的视频变清晰变流畅的AI工具&#xff0c;即提高视频的分辨率和FPS&#xff0c;亲测效果非常nice&#xff01;&#xff01; 免费&#xff01;免费&#xff01;免费&#xff01…

基于Sentinel-1遥感数据的水体提取

本文利用SAR遥感图像进行水体信息的提取&#xff0c;相比光学影像&#xff0c;SAR图像不受天气影响&#xff0c;在应急情况下应用最多&#xff0c;针对水体&#xff0c;在发生洪涝时一般天气都是阴雨天&#xff0c;云较多&#xff0c;光学影像质量较差&#xff0c;基本上都是利…

【案例】使用Vue实现标题项元素上下移动

效果图 效果说明 每一组数据只能在对应的二级类目中进行上下移动&#xff0c;当点击上移图标的时候【左边的】会将当前元素与上一个元素交换位置&#xff0c;当点击的元素为该组的第一个元素时&#xff0c;将提示已经是第一项了并且不能进行移动&#xff1b;当点击下移图标的时…

java中if-else的代替写法是什么?

在Java中&#xff0c;有一种常见的if-else的替代写法是使用三元运算符&#xff08;Ternary Operator&#xff09;或者switch语句。下面是这两种替代写法的示例&#xff1a; 三元运算符&#xff1a;result (condition) ? value1 : value2;这表示如果条件(condition)为真&…

Linux|如何允许 awk 使用 Shell 变量

引言 当我们编写 shell 脚本时&#xff0c;我们通常会在脚本中包含其他较小的程序或命令&#xff0c;例如 awk 操作。就 Awk 而言&#xff0c;我们必须找到将一些值从 shell 传递到 Awk 操作的方法。 这可以通过在 Awk 命令中使用 shell 变量来完成&#xff0c;在本文中&#x…

C++系统编程篇——Linux初识(系统安装、权限管理,权限设置)

(1)linux系统的安装 双系统---不推荐虚拟机centos镜像&#xff08;可以使用&#xff09;云服务器/轻量级云服务器&#xff08;强烈推荐&#xff09; ①云服务器&#xff08;用xshell连接&#xff09; ssh root公网IP 然后输入password ①添加用户&#xff1a; addus…

grex 正则表达式生成工具

grex 正则表达式生成工具 项目地址使用说明输入参数数字选项空白选项单词选项转义选项重复选项锚点选项显示选项其他选项官方例子参考资料 grex 既是一个库也是一个命令行工具&#xff0c;它可以自动从用户提供的测试用例生成单个正则表达式。 项目地址 https://github.com/p…

揭秘!你的电商产品为何滞销?同行火爆销售的7大原因!

同样做电商&#xff0c;但自家产品销量不如竞对同行&#xff0c;可能的原因有多种&#xff0c;以下是店雷达总结7个可能的原因和对策&#xff1a; 一、市场竞争分析不足 未能准确识别并分析竞争对手的产品、定价、营销策略等关键信息&#xff0c;导致自身产品无法脱颖而出。 …