题目详解
相关链接
思路
- 生成一个虚拟头节点
dummyHead
指向head
- 然后从
dummyHead
开始完整的遍历链表:判断当前节点的后一个节点val是否是否是目标值,如果是则将当前节点的next指向下下个节点(即跳过目标节点,从而达到删除效果)
看完代码随想录之后的想法
- 与我想法一致
实现过程中遇到的困难
代码
1 | /** |
时间复杂度:O(n)
空间复杂度:O(1)
收获
- 链表进行增删操作时通常可以使用虚拟头节点,就不需要单独处理头节点了,使得处理方法统一,代码更清爽。
dummyHead
指向head
dummyHead
开始完整的遍历链表:判断当前节点的后一个节点val是否是否是目标值,如果是则将当前节点的next指向下下个节点(即跳过目标节点,从而达到删除效果)1 | /** |
时间复杂度:O(n)
空间复杂度:O(1)