面试题18. 删除链表的节点
class Solution {
public ListNode deleteNode(ListNode head, int val) {
if (head.val == val) return head.next;
//建立双指针
ListNode pre = head, cur = head.next;
//双指针同步移动
while (cur != null && cur.val != val) {
pre = cur;
cur = cur.next;
}
//删除cur对应的节点
if (cur != null) pre.next = cur.next;
return head;
}
}