题源 👉 删除链表的节点_牛客题霸_牛客网 (nowcoder.com)
题目描述:
具体实现:
方法一:
public ListNode deleteNode (ListNode head, int val) {
ListNode t = head;
ListNode p = head;
while(p != null){
if(p.val == val){
if(t.equals(head) && p.equals(head)) return t.next;
t.next = p.next;
break;
}
t = p;
p = p.next;
}
return head;
}
// 可以不需要t
public ListNode deleteNode (ListNode head, int val) {
ListNode p = head;
if(p.val == val) return p.next;
while(p.next != null){
if(p.next.val == val){
p.next = p.next.next;
break;
}
p = p.next;
}
return head;
}