🧩 问题概述
在链表操作中,删除节点是基础但关键的技能。常见场景包括:
- 删除单链表中指定值的节点
- 删除双向链表中的节点
- 删除中间节点(需调整前后指针)
⚠️ 注意:若删除头节点需特殊处理,建议参考 删除链表节点教程
📝 解题思路
定位目标节点
通过遍历找到要删除的节点位置调整指针指向
将前一个节点的next指向后一个节点处理边界情况
- 删除头节点:需更新头指针
- 删除尾节点:需找到前驱节点
- 空链表情况:直接返回null
💡 代码示例(Java)
public void deleteNode(ListNode node) {
if (node == null || node.next == null) return;
node.val = node.next.val;
node.next = node.next.next;
}
🚀 扩展练习
尝试以下相关题目巩固理解: