83. 删除排序链表中的重复元素

import java.util.Objects;

class ListNode {
    int val;
    ListNode next;
    ListNode(int x) { val = x; }
}

class Solution {

    public ListNode deleteDuplicates(ListNode head) {

        if (Objects.isNull(head)) {
            return null;
        }

        ListNode p = head.next;
        ListNode pre = head;

        while (Objects.nonNull(p)) {
            if (p.val == pre.val) {
                pre.next = p.next;
                p.next = null;
                p = pre.next;
            } else {
                pre = p;
                p = p.next;
            }

        }
        return head;
    }
}