删除链表中的重复元素

来源:互联网 发布:ajax处理返回的数据 编辑:程序博客网 时间:2024/05/29 11:38

给定一个排序链表,删除所有重复的元素每个元素只留下一个。

样例

给出 1->1->2->null,返回 1->2->null

给出 1->1->2->3->3->null,返回 1->2->3->null


public static ListNode deleteDuplicates(ListNode head) {        ListNode p = head, q = null, pre = null;        if (head == null || head.next == null) return head;        while (p.next != null) {            if (p.val == p.next.val) {                q = p.next;                if (pre == null) {                    head.next = q.next;                    p = head;                } else {                    p.next = q.next;                }            } else {                pre = p;                p = p.next;            }        }        return head;    }


原创粉丝点击