首页 > 解决方案 > 链表中的迭代

问题描述

我们有一个有 5 个节点的链表

1 2 3 4 5

previous = pointing to 2
Head = pointing to 3

而如果

prev.next=head.next;
head=head.next;

所以我的问题是,如果 head 指向 3 并且只是通过执行 prev.next=head.next 删除了 3; 新的链表将是

1 2 4 5

现在我做 head=head.next; 那么当我已经删除了head指向的值为3的节点时,它将如何变为4?

标签: javalinked-list

解决方案


prev.next = head.next;没有从内存中删除节点 3。

head 仍然指向 3,而 head.next 仍然指向 4。

所以写作head = head.next很好,你只需改变 head 指向的值。


推荐阅读