Dada una lista vinculada ordenada, elimine todos los nodos que tengan números duplicados, dejando solo números distintos de la lista original.
Por ejemplo, dado 1-> 1-> 1-> 2-> 3, devuelve 2-> 3.
Solución Java
public ListNode deleteDuplicates(ListNode head) { ListNode t = new ListNode(0); t.next = head; ListNode p = t; while(p.next!=null&&p.next.next!=null){ if(p.next.val == p.next.next.val){ int dup = p.next.val; while(p.next!=null&&p.next.val==dup){ p.next = p.next.next; } }else{ p=p.next; } } return t.next; } |