首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LinkedList delete :为什么我们不用previous覆盖head?

在删除链表节点时,通常我们会使用previous节点来删除当前节点。而不使用head节点来覆盖previous节点的原因如下:

  1. 链表的删除操作需要保持链表的连续性。如果我们直接使用head节点来覆盖previous节点,那么在删除节点后,链表的连续性将会被破坏。因为head节点是链表的起始节点,直接覆盖会导致链表的头部丢失,无法继续访问链表的其他节点。
  2. 使用previous节点来删除当前节点可以保持链表的完整性。通过将previous节点的next指针指向当前节点的下一个节点,可以将当前节点从链表中移除,而不会破坏链表的连续性。这样可以确保链表的其他节点仍然可以通过previous节点进行访问。

总结起来,我们不使用previous节点覆盖head节点的原因是为了保持链表的连续性和完整性。通过使用previous节点来删除当前节点,可以确保链表的其他节点仍然可以被正确访问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 用js来实现那些数据结构07(链表01-链表的实现)

    前面讲解了数组,栈和队列。其实大家回想一下。它们有很多相似的地方。甚至栈和队列这两种数据结构在js中的实现方式也都是基于数组。无论增删的方式、遵循的原则如何,它们都是有序集合的列表。在js中,我们新建一个数组并不需要限定他的大小也就是长度,但是实际上,数组的底层仍旧为初始化的数组设置了一个长度限制。我们想要在数组中任意的插入和删除元素的成本很高,虽然在js中我们有便捷的方法可以操作数组,但是其底层原理仍旧是这样的。只是我们对它并没有感觉,比如在java中,声明一个数组是必须要限制它的长度的。并且在扩容的情况下,操作起来也不是十分方便。这就需要用到其它的数据结构来应对我们不同的需要,比如链表。

    02

    用js来实现那些数据结构07(链表01-链表的实现)

    前面讲解了数组,栈和队列。其实大家回想一下。它们有很多相似的地方。甚至栈和队列这两种数据结构在js中的实现方式也都是基于数组。无论增删的方式、遵循的原则如何,它们都是有序集合的列表。在js中,我们新建一个数组并不需要限定他的大小也就是长度,但是实际上,数组的底层仍旧为初始化的数组设置了一个长度限制。我们想要在数组中任意的插入和删除元素的成本很高,虽然在js中我们有便捷的方法可以操作数组,但是其底层原理仍旧是这样的。只是我们对它并没有感觉,比如在java中,声明一个数组是必须要限制它的长度的。并且在扩容的

    010
    领券