题目:
给你一个链表的头节点 head
和一个整数 val
,请你删除链表中所有满足 Node.val == val
的节点,并返回 新的头节点 。
思路:
①单链表中只有头节点没有前驱,投机欸但需要额外处理;若头节点就是待删除节点,就是用while判断,这里是因为删除后的新的头节点还有可能是待删除的节点。
这里还有一个要注意的点,while循环的判断条件不能 (head.val == val && head != null),因为循环中的 head.val == val 可能为NULL ,此时就会出现空指针异常!!!
while (head != null && head.val == val) {
head = head.next;
}
②还要进行特殊情况的判断&#