关于链表删除结点的一个问题
来源: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
继续加油!:)
00
相似问题