前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >脚撕LeetCode(237)Easy

脚撕LeetCode(237)Easy

作者头像
JathonKatu
发布2021-06-10 01:35:49
2040
发布2021-06-10 01:35:49
举报
文章被收录于专栏:JathonKatu

题目地址:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/comments/

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。 现有一个链表 --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. https://leetcode-cn.com/problems/delete-node-in-a-linked-list/comments/

提示: 链表至少包含两个节点。 链表中所有节点的值都是唯一的。 给定的节点为非末尾节点并且一定是链表中的一个有效节点。 不要从你的函数中返回任何结果。

代码语言:javascript
复制
 public class ListNode {
  int val;
  ListNode next;
  ListNode(int x) { val = x; }
  }
  
  static ListNode head = new ListNode(4,new ListNode(5,new ListNode(1,new ListNode(9))));

这道题简单到离谱,官方和大佬们都一样,我也一样。

因为是给到一个中间节点,并且是单向链表,所以只能是将当前节点的值设置为下一节点,并且将当前节点的next指向next节点的next

执行结果:

41 / 41 个通过测试用例

状态:通过

执行用时: 0 ms

内存消耗: 37.5 MB

代码语言:javascript
复制
public static void deleteNodeMe(ListNode node) {
    ListNode next = node.next;
    node.val = next.val;
    node.next = next.next;
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JathonKatu 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档