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

算法第十天:leetcode203.移除链表元素

一、203.移除链表元素题目描述

  203.移除链表元素的链接如下所示,您可复制下面链接网址进入力扣学习,看题解之前一定要先做一遍哦!

https://leetcode.cn/problems/remove-linked-list-elements/description/icon-default.png?t=N7T8https://leetcode.cn/problems/remove-linked-list-elements/description/

  给你一个链表的头节点 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
输出:[]

提示:

  • 列表中的节点数目在范围 [0, 104] 内
  • 1 <= Node.val <= 50
  • 0 <= val <= 50

二、Java版的示例代码

  这题可直接用单链表的算法来实现,具体代码如下:

class Solution {public ListNode removeElements(ListNode head, int val) {while(head!=null&&head.val==val){head=head.next;}ListNode curr=head;while(curr!=null){while(curr.next!=null&&curr.next.val==val){curr.next=curr.next.next;}curr=curr.next;}return head;}
}

三、具体思路

  本题主要讲解单链表的算法思路,下面为本题思路的3个步骤:

  • 首先判断要删除的元素是否是头节点,还要判断头结点不为空。如果这个头结点为空,相当于是操作空指针,那么编译就会报错。同时头节点所指向的数值等于目标值。然后把头结点指向这个头节点的下一个。
  • 定义一个指针curr,让它指向head。然后进入while循环,判断curr和curr.next不为空,curr.next的值等于val,让curr.next指向curr.next.next。
  • 最后别忘了不等于的情况,我们就让curr指向curr.next。然后返回head。

  最后,感谢各位读者的阅读与支持,您的支持是我前进的动力!我希望我的博文能够带给您有用的算法知识和启发。希望本题对大家有帮助,谢谢各位读者的支持!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++】C++11的新特性 --- 右值引用与移动语义
  • 排序系列 之 选择排序
  • FastAPI -- 第三弹(自定义响应、中间件、代理、WebSockets)
  • 【Python 对接QQ的接口(三)】简单用接口查询【等级/昵称/头像/Q龄/状态/会员/当天在线时长/下一个等级升级需多少天】
  • 架构以及架构中的组件
  • 迪米特法则
  • leetcode145. 二叉树的后序遍历,递归法+迭代法,全过程图解+步步解析,一点点教会你迭代法后序遍历
  • Web3时代的教育技术革新:智能合约在学习管理中的应用
  • 收银系统源码-线上商城diy装修
  • 腾讯元宝上线“3D角色梦工厂”:快速生成专属3D角色!
  • 求职学习day5
  • 01 MySQL
  • JavaWeb笔记_Response对象
  • https和http区别
  • [iOS]内存分区
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • C++类的相互关联
  • cookie和session
  • Java 多线程编程之:notify 和 wait 用法
  • Linux gpio口使用方法
  • Node 版本管理
  • PAT A1050
  • Rancher-k8s加速安装文档
  • 阿里云购买磁盘后挂载
  • 面试遇到的一些题
  • 实习面试笔记
  • 使用Swoole加速Laravel(正式环境中)
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 第二十章:异步和文件I/O.(二十三)
  • ​520就是要宠粉,你的心头书我买单
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # 职场生活之道:善于团结
  • #微信小程序(布局、渲染层基础知识)
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (10)STL算法之搜索(二) 二分查找
  • (13)Hive调优——动态分区导致的小文件问题
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (zhuan) 一些RL的文献(及笔记)
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转)http-server应用
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)人的集合论——移山之道
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .Mobi域名介绍
  • .net 后台导出excel ,word
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • 。。。。。