• 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+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

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

  • 相关阅读:
    Java的导入与导出Excel
    java文件上传和下载
    JAVA解析xml的五种方式比较
    XML解析——Java中XML的四种解析方式
    ios、安卓前端兼容性
    安卓、ios时间转换成时间戳的形式
    时间格式在ios和安卓兼容性的问题:
    JS中判断对象是对象还是数组的方法
    浅谈Object.prototype.toString.call()方法
    JavaScript toString() 函数详解
  • 原文地址:https://www.cnblogs.com/xiaochuan94/p/10099274.html
Copyright © 2020-2023  润新知