class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode pre=new ListNode(0); pre.next=head; ListNode p=pre; while(p!=null&&p.next!=null) { ListNode q=p.next; while(q.next!=null&&q.val==q.next.val) q=q.next; if(p.next==q) p=p.next; else p.next=q.next; } return pre.next; } }