zoukankan      html  css  js  c++  java
  • LeetCode算法题-Delete Node in a Linked List(Java实现)

    这是悦乐书的第197次更新,第204篇原创

    01 看题和准备

    今天介绍的是LeetCode算法题中Easy级别的第60题(顺位题号是235)。编写一个函数来删除单链表中的节点(尾部除外),只允许访问该节点。例如:

    鉴于链表 - head = [4,5,1,9],如下所示:

    4 - > 5 - > 1 - > 9

    输入:head = [4,5,1,9],node = 5

    输出:[4,1,9]

    说明:您将获得值为5的第二个节点,即链表调用你的函数后应该变成4 - > 1 - > 9。


    输入:head = [4,5,1,9],node = 1

    产出:[4,5,9]

    说明:您将获得值为1的第三个节点,即链表在调用你的函数后应该变成4 - > 5 - > 9。


    注意

    • 链表至少有两个元素。

    • 所有节点的值都是唯一的。

    • 给定节点不是尾部,它始终是链表的有效节点。

    • 不要从你的功能中返回任何东西。

    本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

    02 解题

    传入的参数node,是要删除掉的节点,也就是需要跳过node。先将当前节点的值用其下一个节点的值覆盖掉,然后node的下一个节点指向其下下个节点。

    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;
    }
    

    03 小结

    算法专题目前已连续日更超过一个月,算法题文章60+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

    以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

  • 相关阅读:
    博主简介
    P1005 矩阵取数游戏
    P2051 [AHOI2009]中国象棋
    P1070 道路游戏
    P2577 [ZJOI2005]午餐
    P1169 [ZJOI2007]棋盘制作
    P1273 有线电视网
    P2467 [SDOI2010]地精部落
    P2331 [SCOI2005]最大子矩阵
    P2216 [HAOI2007]理想的正方形
  • 原文地址:https://www.cnblogs.com/xiaochuan94/p/10099274.html
Copyright © 2011-2022 走看看