LeetCode实战:删除链表中的节点
背景
- 为什么你要加入一个技术团队?
- 如何加入 LSGO 软件技术团队?
- 我是如何组织“算法刻意练习活动”的?
- 为什么要求团队的学生们写技术Blog
题目英文
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Given linked list – head = [4,5,1,9], which looks like following:
Example 1:
Input: head = [4,5,1,9], node = 5
Output: [4,1,9]
Explanation: You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function.
Example 2:
Input: head = [4,5,1,9], node = 1
Output: [4,5,9]
Explanation: You are given the third node with value 1, the linked list should become 4 -> 5 -> 9 after calling your function.
Note:
- The linked list will have at least two elements.
- All of the nodes’ values will be unique.
- The given node will not be the tail and it will always be a valid node of the linked list.
- Do not return anything from your function.
题目中文
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。
现有一个链表 – head = [4,5,1,9],它可以表示为:
示例 1:
输入: head = [4,5,1,9], node = 5
输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.
示例 2:
输入: head = [4,5,1,9], node = 1
输出: [4,5,9]
解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.
说明:
- 链表至少包含两个节点。
- 链表中所有节点的值都是唯一的。
- 给定的节点为非末尾节点并且一定是链表中的一个有效节点。
- 不要从你的函数中返回任何结果。
算法实现
/*** Definition for singly-linked list.* public class ListNode {* public int val;* public ListNode next;* public ListNode(int x) { val = x; }* }*/public class Solution
{public void DeleteNode(ListNode node){//给我们的这个node就是链表的一部分,直接在上面操作就可以了。ListNode temp = node.next;while (temp != null){node.val = temp.val;temp = temp.next;if (temp != null){node = node.next;}}node.next = null;}
}
实验结果
- 状态:通过
- 41 / 41 个通过测试用例
- 执行用时: 120 ms, 在所有 C# 提交中击败了 99.55% 的用户
- 内存消耗: 24.4 MB, 在所有 C# 提交中击败了 5.88% 的用户
相关图文
1. “数组”类算法
- LeetCode实战:三数之和
- LeetCode实战:最接近的三数之和
- LeetCode实战:求众数
- LeetCode实战:缺失的第一个正数
- LeetCode实战:快乐数
- LeetCode实战:寻找两个有序数组的中位数
- LeetCode实战:盛最多水的容器
- LeetCode实战:删除排序数组中的重复项
- LeetCode实战:搜索旋转排序数组
- LeetCode实战:螺旋矩阵
- LeetCode实战:螺旋矩阵 II
- LeetCode实战:买卖股票的最佳时机
- LeetCode实战:买卖股票的最佳时机 II
2. “链表”类算法
- LeetCode实战:两数相加
- LeetCode实战:删除链表的倒数第N个节点
- LeetCode实战:两两交换链表中的节点
- LeetCode实战:旋转链表
- LeetCode实战:环形链表
3. “栈”类算法
- LeetCode实战:有效的括号
- LeetCode实战:最长有效括号
- LeetCode实战:逆波兰表达式求值
4. “队列”类算法
- LeetCode实战:设计循环双端队列
- LeetCode实战:滑动窗口最大值
- LeetCode实战:整数反转
- LeetCode实战:字符串转换整数 (atoi)
5. “递归”类算法
- LeetCode实战:爬楼梯
6. “位运算”类算法
- LeetCode实战:格雷编码
7. “字符串”类算法
- LeetCode实战:反转字符串
- LeetCode实战:翻转字符串里的单词
- LeetCode实战:最长公共前缀
- LeetCode实战:字符串相加
- LeetCode实战:字符串相乘
8. “树”类算法
- LeetCode实战:相同的树
- LeetCode实战:对称二叉树
- LeetCode实战:二叉树的最大深度
- LeetCode实战:将有序数组转换为二叉搜索树
9. “哈希”类算法
- LeetCode实战:两数之和
10. “排序”类算法
- LeetCode实战:合并两个有序数组
- LeetCode实战:合并两个有序链表
- LeetCode实战:合并K个排序链表
11. “搜索”类算法
- LeetCode实战:搜索二维矩阵
- LeetCode实战:子集
12. “动态规划”类算法
- LeetCode实战:最长回文子串
- LeetCode实战:最大子序和
- LeetCode实战:不同路径
13. “回溯”类算法
- LeetCode实战:全排列
14. “数值分析”类算法
- LeetCode实战:回文数
- LeetCode实战:x 的平方根
LeetCode实战:删除链表中的节点相关推荐
- LeetCode 237. 删除链表中的节点(Python3)
题目: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 输入: head ...
- 22. Leetcode 237. 删除链表中的节点 (链表-基础操作类-删除链表的节点)
请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 .题目数据保证需要删除的节点 不是末尾节点 .示例 1:输入: ...
- leetcode 237. 删除链表中的节点(左神算法:一种怪异的节点删除方式、此方法存在的问题分析)
题目 题解 一种怪异的节点删除方式 本题的思路很简单,举例就能说明具体的做法. 例如,链表1->2->3->null,只知道要删除节点2,而不知道头节点.那么只需把节点2 的值变成节 ...
- LeetCode 237. 删除链表中的节点(思维)
请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 . 题目数据保证需要删除的节点 不是末尾节点 . https: ...
- LeetCode 237. 删除链表中的节点
原题链接 解题思路:后面的的结点内容覆盖前面的结点内容 /*** Definition for singly-linked list.* struct ListNode {* int val;* Li ...
- leetcode刷题:删除链表中的节点
题目: 分析: 删除链表中的节点的常见的方法是定位到待删除节点的上一个节点,修改上一个节点的 \textit{next}next 指针,使其指向待删除节点的下一个节点,即可完成删除操作. 这道题中,传 ...
- 237. 删除链表中的节点【我亦无他唯手熟尔】
237. 删除链表中的节点 请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 . 题目数据保证需要删除的节点 不 ...
- 237. 删除链表中的节点 golang
删除链表的节点 https://leetcode-cn.com/problems/delete-node-in-a-linked-list 最优解 把下一个节点的值移动到当前删除节点,然后更改当前节点 ...
- 【Leetcode -1721.交换链表中的节点 -2058.找出临界点之间的最小和最大距离】
Leetcode Leetcode -1721.交换链表中的节点 Leetcode -2058.找出临界点之间的最小和最大距离 Leetcode -1721.交换链表中的节点 题目:给你链表的头节点 ...
最新文章
- 萌宝1天陪博士父母赶2场毕业典礼走红!上午是妈妈博士毕业,下午是爸爸......
- 上班第一天公司就倒闭了??? | 每日趣闻
- 1002: A+B for Input-Output Practice (II)
- 团队-团队编程项目作业名称-需求分析;
- redis删除指定key中的指定元素
- 基于SpringBoot+Mybatis+Thymeleaf商品信息管理系统
- python 项目实战视频_腾讯视频 Python 爬虫项目实战
- 最新变体Transformer!∞-former!DeepMind 出品!
- 软件项目管理 2.2.项目招投标流程
- wifi智能门锁远程控制方案能实现哪些功能
- Java 上机----实训操作6---汽车类
- size of的用法总结
- IE浏览器打不开解决办法
- 电表485通讯抄表软件
- Tesla T4 在Ubuntu18.04上的安装使用
- mysql 分组统计 及 统计结果横向展示
- teamlab什么意思_去看炸火的teamLab大型个展前 你应该知道的事
- Linux下分割、合并PDF(pdftk)
- 【计算机网络】第二部分 物理层和介质(3) 数据和信号
- Image Pyramid(图像金字塔)