java - 链表中的迭代
问题描述
我们有一个有 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?
解决方案
prev.next = head.next;
没有从内存中删除节点 3。
head 仍然指向 3,而 head.next 仍然指向 4。
所以写作head = head.next
很好,你只需改变 head 指向的值。
推荐阅读
- mysql - MYSQL - 查找列中的不同值
- javascript - 使用 FOR 循环遍历 JSON 数据并创建指定属性 ('name') 的列表,无法创建另一个引用 prop 的 SINGLE 元素
- reactjs - 反应地图未显示子路线导航数据
- ios - 我更新了 taget 版本,但我的 App on Store 的兼容性仍然是“Ios 11 或更高版本”
- python - 如何在烧瓶中从 mongo db find 查询发送游标
- r - 如何将坐标列表转换为一个 SF Multipolygon?
- javascript - 如何清除 Slatejs v0.50+ 中的编辑器?
- windows - 添加客户端证书后,使用 Python 和 Postman 在 Windows 上“无法获取本地颁发者证书”
- php - 使用 Bootstrap 显示来自 DB 的结果
- go - gorm 使用 find 重新运行为空