关于链表删除结点的一个问题

来源:5-1 链表,在节点间穿针引线 Reverse Linked List

Y1ng

2019-12-14

请教一个基本问题:
对于一个linkedlist,我们想删除其中某一个node,一般是找到这个node的前一个结点prenode,然后prenode.next = prenode.next.next来操作。

如果直接写作node = node.next,这样有什么不对或者不好的地方吗?
或者说 prenode.next = prenode.next.next 这样写好在哪吗?
谢谢

写回答

1回答

liuyubobobo

2019-12-14

node = node.next 完全不正确。


他只是将当前 node 所指向的节点,修改成了 node.next 所指向的节点,但是,整个链表的结构完全没有改变。只是 node 这个变量的指向改变了。


在这个课程中,我们后续在测试链表的时候,给出了打印输出整个链表的代码。建议创建一个链表,用你的逻辑删除一下,然后观察一下,之后整个链表变成了什么样子?node的指向变成了什么样子?为什么?


在我的课程《玩转数据结构》中详细讲解了链表的删除,有兴趣的同学可以参考:https://coding.imooc.com/class/207.html


继续加油!:)

0
0

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

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

7408 学习 · 1150 问题

查看课程