LeetCode中怎么删除链表的节点
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本篇文章给大家分享的是有关LeetCode中怎么删除链表的节点,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。给定单向链表的头指针和一个要
千家信息网最后更新 2025年01月28日LeetCode中怎么删除链表的节点
本篇文章给大家分享的是有关LeetCode中怎么删除链表的节点,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。
示例 1:
输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.
示例 2:
输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.
说明:
题目保证链表中节点的值互不相同若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点
思路
特例处理: 当应删除头节点 head 时,直接返回 head.next 即可。
初始化: pre = head , cur = head.next 。
定位节点: 当 cur 为空 或 cur 节点值等于 val 时跳出。
保存当前节点索引,即 pre = cur 。
遍历下一节点,即 cur = cur.next 。
删除节点: 若 cur 指向某节点,则执行 pre.next = cur.next 。(若 cur 指向 nullnull ,代表链表中不包含值为 val 的节点。
返回值: 返回链表头部节点 head 即可。
代码
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode deleteNode(ListNode head, int val) { if(head.val == val){ return head.next; } ListNode pre = head, cur = head.next; while(cur != null && cur.val != val){ pre = cur; cur = cur.next; } if(cur != null){ pre.next = cur.next; } return head; }}
以上就是LeetCode中怎么删除链表的节点,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
节点
函数
中值
指向
更多
知识
示例
篇文章
应变
解释
输入
输出
实用
相同
三个
代码
代表
单向
头部
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
对智能软件开发的看法
计算机三级网络技术条件
网络安全培训机构组织架构
免费ftp服务器
澳门互联网高科技
国产软件开发技术
互联网科技属于商标第几类
计算机网络安全的第一病毒
三门峡支付软件开发
郑州软件开发薪资待遇
菏泽卫生健康网络安全工作会议
数据库基本结构是三个层次
网络安全在世界上的地位
淘宝网络安全知识竞赛代答
网络安全知识倡议书
成都采购设备管理软件开发
博士硕士论文数据库
mssql数据库插入语句
数据库访问接口技术简介
怎么做一个软件开发公司
软件开发公司的排名
数据库交叉连接
软件开发的两种主要模型是
三门峡支付软件开发
服务器生存指令
数据库中的核心技术
steam买东西服务器发生错误
在服务器上面搭建vps
学校网络安全管理教学设计
台达AsD一A2服务器