[剑指offer]18. 删除链表的节点

之前写了几道题都自己截图写到pad里了,现在感觉还是这么写方便一些。

[剑指offer]18. 删除链表的节点

看完题思路:

定义一个指针,定义while函数,判断指针指向不为空的条件下,一直向下指。判断指针的值等于节点值,指针p->next=p->next->next。然后跳出循环。

感觉是考研的算法题(lll¬ω¬)。

 

看了标准答案

自己缺少了几种考虑,如果head值是要删除的值,那么p->next=p->next->next是删除下一个节点,是不对的。

代码如下:

[剑指offer]18. 删除链表的节点

如果当前节点的下一个不是空,并且当前节点的下一个节点的值不是要删除的节点值。那么久一直向下指下去。

如果下一个节点值是要删除的节点值,就删除下一个节点。