背景

  • 为什么你要加入一个技术团队?
  • 如何加入 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实战:删除链表中的节点相关推荐

  1. LeetCode 237. 删除链表中的节点(Python3)

    题目: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 输入: head ...

  2. 22. Leetcode 237. 删除链表中的节点 (链表-基础操作类-删除链表的节点)

    请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 .题目数据保证需要删除的节点 不是末尾节点 .示例 1:输入: ...

  3. leetcode 237. 删除链表中的节点(左神算法:一种怪异的节点删除方式、此方法存在的问题分析)

    题目 题解 一种怪异的节点删除方式 本题的思路很简单,举例就能说明具体的做法. 例如,链表1->2->3->null,只知道要删除节点2,而不知道头节点.那么只需把节点2 的值变成节 ...

  4. LeetCode 237. 删除链表中的节点(思维)

    请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 . 题目数据保证需要删除的节点 不是末尾节点 . https: ...

  5. LeetCode 237. 删除链表中的节点

    原题链接 解题思路:后面的的结点内容覆盖前面的结点内容 /*** Definition for singly-linked list.* struct ListNode {* int val;* Li ...

  6. leetcode刷题:删除链表中的节点

    题目: 分析: 删除链表中的节点的常见的方法是定位到待删除节点的上一个节点,修改上一个节点的 \textit{next}next 指针,使其指向待删除节点的下一个节点,即可完成删除操作. 这道题中,传 ...

  7. 237. 删除链表中的节点【我亦无他唯手熟尔】

    237. 删除链表中的节点 请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 . 题目数据保证需要删除的节点 不 ...

  8. 237. 删除链表中的节点 golang

    删除链表的节点 https://leetcode-cn.com/problems/delete-node-in-a-linked-list 最优解 把下一个节点的值移动到当前删除节点,然后更改当前节点 ...

  9. 【Leetcode -1721.交换链表中的节点 -2058.找出临界点之间的最小和最大距离】

    Leetcode Leetcode -1721.交换链表中的节点 Leetcode -2058.找出临界点之间的最小和最大距离 Leetcode -1721.交换链表中的节点 题目:给你链表的头节点 ...

最新文章

  1. 萌宝1天陪博士父母赶2场毕业典礼走红!上午是妈妈博士毕业,下午是爸爸......
  2. 上班第一天公司就倒闭了??? | 每日趣闻
  3. 1002: A+B for Input-Output Practice (II)
  4. 团队-团队编程项目作业名称-需求分析;
  5. redis删除指定key中的指定元素
  6. 基于SpringBoot+Mybatis+Thymeleaf商品信息管理系统
  7. python 项目实战视频_腾讯视频 Python 爬虫项目实战
  8. 最新变体Transformer!∞-former!DeepMind 出品!
  9. 软件项目管理 2.2.项目招投标流程
  10. wifi智能门锁远程控制方案能实现哪些功能
  11. Java 上机----实训操作6---汽车类
  12. size of的用法总结
  13. IE浏览器打不开解决办法
  14. 电表485通讯抄表软件
  15. Tesla T4 在Ubuntu18.04上的安装使用
  16. mysql 分组统计 及 统计结果横向展示
  17. teamlab什么意思_去看炸火的teamLab大型个展前 你应该知道的事
  18. Linux下分割、合并PDF(pdftk)
  19. 【计算机网络】第二部分 物理层和介质(3) 数据和信号
  20. Image Pyramid(图像金字塔)

热门文章

  1. mysql 锁语句_mysql-笔记 事务 锁 语句
  2. 怎样知道pip install 可以安装包的哪些版本
  3. oracle anbob,Tag Archives: oracle安装 | ANBOB
  4. @芥末的糖----------《后端加密》
  5. Django内置Admin
  6. 切版网上线,启用qieban.cn
  7. Node.js Express 框架 Express
  8. iOS 开发 OC编程 数组冒泡排序.图书管理
  9. 小心陷阱:二维动态内存的不连续性
  10. Mysql左连接分页查询