关于delNode=null赋值这一段代码
如图
链表初始数据结构为
int[] arr = {7, 1, 7, 7, 7, 7};
val为7
在第一次将delNode.next赋值为null后,head的链表结构直接变为了7->null,这里不太能理解,麻烦老师解惑,谢谢老师。
26
收起
正在回答
2回答
因为 head 节点也是你要删除的节点,所以在删除 head 的时候,delNode 指向 head,delNode.next = null,就是 head.next = null。所以 head 就变成 7-> null 了。
这就是这个算法最后的结果不能返回 head,而要返回 dummyHead->next 的原因。当 head 是要删除的节点的时候,返回 head 是错误的。
继续加油!:)
545484sa54
2021-04-27 22:21:55
还有这样一个问题,在创建了虚拟头节点dummy以后为什么不使用虚拟头节点进行遍历,还要再创建一个prev节点来指向dummy节点呢。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧