为什么要 delNode.next=null;呢?
来源:5-1 Leetcode中和链表相关的问题
神奇大樱桃
2019-09-16
while(prev.next!=null){
if(prev.next.val==val) {
ListNode delNode = prev.next;
prev.next=delNode.next;
delNode.next=null;
}else{
prev=prev.next;
}
}
prev.next=delNode.next; 已经将待删除的后一项给prev.next了。说明prev.next指向了待删元素的后一个,那为什么要将delNode.next引用指向null呢?为什么delNode这个引用不也一起指向null呢。
写回答
2回答
-
liuyubobobo
2019-09-17
不写没问题的,课程后续也会有不写的写法。这里只是显示将 delNode 和原链表“脱离”,若果理解 Java 的内存回收机制,这里不写,delNode 最终也会被 GC 正确回收的。
继续加油!:)
00 -
HERTION
2019-09-16
把delNode持有的引用删掉,没人引用他,他也没有引用别人,就会被垃圾回收机制回收了
022019-09-16
相似问题