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

leetcode链表(一)-移除链表元素

题目

t. - 力扣(LeetCode)

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

例1

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1
输出:[]示例 3:输入:head = [7,7,7,7], val = 7
输出:[]

思路

当需要删除的节点是头节点时,需要单独考虑,这时候设置一个虚拟的头节点,将虚拟的头节点指向真实的头节点,将头节点看作普通节点做同样的操作即可,但最后返回的时候一定要返回虚拟头节点的next。

代码

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def removeElements(self, head: Optional[ListNode], val: int) -> Optional[ListNode]:if not head:returnphead,cur = ListNode(),ListNode()phead.next = headcur= pheadwhile cur.next:if cur.next.val == val:cur.next = cur.next.nextelse:cur = cur.nextreturn phead.next

http://www.lryc.cn/news/457342.html

相关文章:

  • python的特殊方法——魔术方法
  • 深入浅出理解TCP三次握手与四次挥手
  • 如何在Windows和Linux查看正在监听的端口和绑定的进程
  • 如何用深度神经网络预测潜在消费者
  • 基于opencv答题卡识别判卷
  • ShardingSphere分库分表产品介绍
  • Java经典面试题-多线程打印
  • FireFox简单设置设置
  • Sollong手机——一站式Web3生态解决方案
  • 《重生到现代之从零开始的数据结构生活》—— 顺序表1
  • 2本书让你轻松入门大模型!《大模型入门:技术原理与实战应用》+《自然语言处理:大模型理论与实践》
  • 【JDK17 | 1】Java 17 深入剖析:新特性与变革
  • strtok
  • 零信任身份安全的基本原则
  • 【AAOS】Android Automotive 9模拟器源码下载及编译
  • 手动降级wsl中的numpy
  • 极客兔兔Gee-Cache Day7
  • R包:APAlyzer从RNA-seq数据计算APA表达丰度
  • YOLOv11改进策略【损失函数篇】| 利用MPDIoU,加强边界框回归的准确性
  • dayu_widgets-简介
  • 改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
  • 米哈游Android面试题汇总及参考答案
  • 搜维尔科技:【应用】Xsens动作捕捉技术为奇幻电影注入活力
  • useradd命令:添加Linux新用户
  • Python+ffmpeg实现字幕视频合并
  • 垂直分库分表、水平分库分表
  • rocksdb merge的简单记录
  • 安卓开发板_MTK联发科评估套件_安卓开发板Demo板
  • maven指定模块快速打包idea插件Quick Maven Package
  • i春秋云境靶场之CVE-2022-26965