题目描述
解题思路
由于头节点也需要判断,所以采用虚拟头节点的方法,具体参照专题的虚拟头节点章节。
class Solution {
public ListNode deleteNode(ListNode head, int val) {
if (head == null) {
return null;
}
ListNode dummy = new ListNode(-1);
ListNode pre = dummy;
pre.next = head;
ListNode cur = pre.next;
while (cur != null) {
if (cur.val == val) {
pre.next = cur.next;
}else {
pre = pre.next;
}
cur = cur.next;
}
return dummy.next; // 返回虚拟头节点
}
}