zoukankan      html  css  js  c++  java
  • LeetCode Notes_#237_ 删除链表中的节点

    LeetCode Notes_#237_ 删除链表中的节点

    Contents

    题目

    请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。
    示例 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.

    解答

    这题有点脑筋急转弯的意思,没有给出头节点,还真不知道怎么做。
    这是另一种删除节点的方法,就是用后一个节点代替被删除的节点,然后把后一个节点删除。
    很妙!

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

    复杂度分析

    时间复杂度:O(1)
    空间复杂度:O(1)

  • 相关阅读:
    分布图
    针对回归训练卷积神经网络
    polyfit 多项式曲线拟合matlab
    Re-run failed tests in testng
    URI 和 URL的区别
    十分钟理解Gradle
    移动App测试实战—专项测试(转)
    adb 常用命令
    MySQL基本操作
    Java注解
  • 原文地址:https://www.cnblogs.com/Howfars/p/13810126.html
Copyright © 2011-2022 走看看