1 使用了虚拟头结点的技巧,也是为了防止出现空指针的情况。
比如说链表总共有 5 个节点,题目就让你删除倒数第 5 个节点,也就是第一个节点,那按照算法逻辑,应该首先找到倒数第 6 个节点。但第一个节点前面已经没有节点了,这就会出错。
但有了我们虚拟节点 dummy 的存在,就避免了这个问题,能够对这种情况进行正确的删除。
本文探讨了在链表操作中使用虚拟头结点的技巧,旨在防止因为空指针导致的错误。当需要删除如第一个节点这样的特殊位置节点时,虚拟节点可以提供一个附加的引用,确保在处理链表首节点时不会遇到问题。通过引入虚拟节点,即使在链表为空或者需要删除首节点的情况下,也能保证算法的正确执行。
比如说链表总共有 5 个节点,题目就让你删除倒数第 5 个节点,也就是第一个节点,那按照算法逻辑,应该首先找到倒数第 6 个节点。但第一个节点前面已经没有节点了,这就会出错。
但有了我们虚拟节点 dummy 的存在,就避免了这个问题,能够对这种情况进行正确的删除。
1182
2067
695

被折叠的 条评论
为什么被折叠?