剑指 Offer 18. 删除链表的节点

思路
注意删除头节点的情况,因此考虑使用虚拟头节点
代码
public ListNode deleteNode(ListNode head, int val) {
ListNode tmp=new ListNode();
tmp.next=head;
ListNode p=tmp;
while(p!=null&&p.next!=null){
if(p.next.val==val)p.next=p.next.next;
p=p.next;
}
return tmp.next;
}
这篇博客讨论了如何在链表中删除具有特定值的节点,特别关注了删除头节点的情况。通过引入虚拟头节点简化了逻辑,使得代码更易理解。核心算法是遍历链表,当找到值匹配的节点时,将其跳过。
413

被折叠的 条评论
为什么被折叠?



