leetcode删除中间节点问题(面试02.03)


我理解的是将这个节点替换为下一个节点,那为什么这个不行?

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

而这个却可以,这两个有什么区别吗?求大佬解惑。。。。

class Solution {
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;       
    }
}
#Java#
全部评论
去了解一下方法参数的“值调用call by value”以及“引用调用call by reference”的区别,Java中的方法传递都是“值调用”,传递给方法的始终是实参变量对应引用的一个拷贝,而不是对实参变量的引用(应该是这样理解的)
3 回复 分享
发布于 2020-10-01 09:06
可以了解下指针概念
2 回复 分享
发布于 2020-09-30 23:11
你虽然将node替换成了下一个节点,但这个node的prev节点的next节点依旧指向原节点
2 回复 分享
发布于 2020-09-30 22:14
删除中间节点,你这不是删除第一个?并且就算删除第一个 prev指针也依然指向第一个节点 第一个节点可达依然不会被jvm回收
1 回复 分享
发布于 2020-10-01 02:08

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
ResourceUt...:你是我见过最美的牛客女孩
晒一下我的毕业照
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务