代码随心录第三天|Leecode 203.移除链表元素 707.设计链表 206.反转链表

news/2025/4/1 7:11:20/文章来源:https://www.cnblogs.com/lxq1130/p/18800006

1、Leecode  203.移除链表元素

题目链接:https://leetcode.cn/problems/remove-linked-list-elements/description/

题目描述:

 

 解题思路:移除操作就是让节点next指针直接指向下下一个节点,因为单链表的特殊性,只能指向下一个节点,所以头节点需要单独考虑,这种方法是直接使用原来的链表来进行删除操作,还有一种不单独考虑头节点——设置一个虚拟头结点在进行删除操作

解法一(单独考虑头节点)

问题:为什么最后函数返回的 head ,是经过调整后的正确链表头指针。

解答:虽然 cur 的改变本身不会直接影响函数外部传入的 head ,但在函数内部,对链表节点的删除操作是围绕 head 所代表的链表结构进行的。当删除节点时,无论是头节点还是非头节点,都通过指针操作(如 cur 的移动及相关指针调整)来重新构建链表结构。当删除完成后,函数内部经过调整的链表头位置,正是 head 当前所指向的位置(若删除了头节点, head 在函数内部已重新指向新的头节点;若未删除头节点, head 指向原头节点且链表结构已完成调整)。最后返回 head ,这个 head 指向的就是经过调整后的正确链表头,能让外部调用函数获取到删除节点后的新链表。

解法二(设置虚拟头结点

 本题视频讲解:https://www.bilibili.com/video/BV18B4y1s7R9/?vd_source=1670197f6caeac56a4d61abf46d4644d

 

2、Leecode  707.设计链表

题目链接:https://leetcode.cn/problems/design-linked-list/description/

题目描述:

 

 

思路:虚拟节点

解答:

 

 

 

3、Leecode  206.反转链表 

题目链接:https://leetcode.cn/problems/reverse-linked-list/description/

题目描述:

 

 思路:双指针法——首先定义一个cur指针,指向头结点,再定义一个pre指针,初始化为null。递归写法也严格按照双指针,当cur为空的时候循环结束,不断将cur指向pre的过程。

 

解法一(双指针)

 
解法二(递归)

 

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

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

相关文章

【THM】Linux Privilege Escalation

Linux Privilege Escalation/Linux 权限提升 什么是权限提升 “权限提升”是什么意思? 权限提升通常涉及从较低权限的帐户到较高权限的帐户。 从技术上讲,它是利用操作系统或应用程序中的漏洞、设计缺陷或配置疏忽来获得对通常限制用户访问的资源的未经授权的访问。 权限提升…

kettle从入门到精通 第九十三课 ETL之kettle kettle 调用web service接口5种方法,一文彻底搞懂

场景:群里有小伙伴向我求助如何调用web service接口,趁着周末时间,给兄弟们搞demo。 1、本次使用的web service服务接口地址是http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?op=getSupportCityDataset, 此接口根据用户输入的城市名称可获取城市下属单位,如下图所示…

分享一款替代 GitLab 的开源软件 gogs ,适合中小企业,非常优秀!

这篇文章,分享一款替代 GitLab 的开源软件 gogs ,Github 上有 4 万多颗 star ,笔者认为它非常优秀 ,适合中小企业。1 Gogs 简介 Gogs 是一款极易搭建的自助 Git 服务,它使用 Go 语言开发,只要 Go 语言支持的平台它都支持,包括 Linux 、Mac OS X、Windows 以及 ARM 平台。…

【闲话 No.3】 并查集相关

并查集的复杂度证明及可持久化。命に嫌われている。 小唐话 感觉有的时候已经无法与人正常交流,净做唐事、说些唐话了。或许是我无法准确猜到别人喜欢什么吧。 不过还是自己心底一点 joker 之心/私心作祟吧。 感觉我有时做的唐事真的挺对不起大家的。 可我又怎么战胜心底的那…

3.29 学习记录

实现了科技页面的树状图查询和分页查询

Django - admin djangoql

效果: 1. pip installpip install djangoql 2. settings.pyINSTALLED_APPS = [djangoql, ] 3. admin.pyfrom django.contrib import admin from djangoql.admin import DjangoQLSearchMixinfrom .models import *@admin.register(User) class UserAdmin(DjangoQLSearchMixi…

[rCore学习笔记 025 extend] 带优先级的抢占式调度

引言 因为rcore并非设计为一个rtos,而是在我们需要的时候我们需要在设计的时候考虑到线程切换的时候的延时问题. 回顾上一部分的使用环形队列进行调度的方式,我们会发现我们寻找下一个Ready的任务的时间是不均匀的.并且我们的任务是没有优先级的,可以认为是平权的,因此,为了:快…

第五周第三章3.6-3.8,思考与练习3.19-3.21

3.6 import time a = "strating" print("{:^}".format(a),end=) for i in range(11): s = . * i print("{:<}".format(s),end=) time.sleep(1) print("Done!") 思考与练习3.19 import time current_time = time.time() time_tuple …

【Java - demo】Redis开发入门

Redis 是一个高性能的键值存储数据库,常用于缓存、消息队列等场景。 本文将以简单易懂的方式介绍 Redis 的基本概念和使用方法,并附上 Java 示例代码,帮助你快速上手。 一、Redis 是什么? Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统。它支持多…

【流量预警】装了UU远程/GameViewer的小心了

前言 月末了,没流量了,不过我今天怎么跑了4个G的流量? 我倒要看看是谁干的好事。热点跑的?但是我一整天都挂着手机连电脑没动啊,最多也就偶尔用了一下。 别让我找到是谁偷跑我流量跑这么多 好啊好,UU远程,得,你清高,你偷偷上传我电脑数据是吧。虽说没抓到现行也只能怀…