在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
public class Solution {
public ListNode deleteDuplication(ListNode pHead)
{
ListNode head = new ListNode(-1);
head.next = pHead;
ListNode p = head;
while(p != null && p.next != null) {
ListNode q = p.next;
while(q != null && p.next.val == q.val) {
q = q.next;
}
if(p.next.next == q) {
p = p.next;
} else {
p.next = q;
}
}
return head.next;
}
}