leetcode 237 删除节点

来源:5-3 设立链表的虚拟头结点 Remove Linked List Elements

高斯的盾

2020-05-27

图片描述为什么Node->next=node->next->next;这句话就可以删除node后一个节点呢?

写回答

1回答

liuyubobobo

2020-05-27

3->4->5


3 是 node

4 就是 node->next

5 就是 node->next->next


node->next = node->next->next,也就是让 3 的 next 直接指向 5,4 被跳过了。


那么,从这个链表的角度看,从头结点开始遍历,将永远无法遍历到 4,4 对这个链表来说,不存在了。


而如果 4 没有其他引用指着它的话(之前 3 的 next 指着他),4 就是没有引用的内存,最终会被 GC 自动回收。


继续加油!:)

0
1
高斯的盾
老实的回答很透彻 并且也解释了没有节点回收问题 也解答了我另一个疑惑 谢谢老师
2020-05-28
共1条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7408 学习 · 1150 问题

查看课程