采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
Node retNode = prev.next;
prev.next = retNode.next;
retNode.next = null;
老师,最后一行代码是不是有问题,我觉得应该是retNode = null;因为retNode是要删除的那个节点,所以是retNode = null,而不是把它的next节点设为null不知道是不是我哪里理解错了
retNode是要删除的节点,现在这个节点的next还连接着原链表,所以在最后一行将retNode的next指向null,即和原链表脱离关系。请再看一下这一小节2:30处的动画内容,这里这个retNode就是PPT中的delNode。
在脱离关系后,我们不需要手动给retNode设置为空。retNode本身是这个函数中创建的临时变量,函数生命周期结束后,这个变量的生存周期也结束了。至于他所指向的空间,由于不在和其他内存空间有任何关联,会由Java的垃圾回收自动处理:)
非常感谢!明白了
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.4k 16
1.4k 17
1.3k 14