Descripción del título
Elimine los elementos duplicados en la lista enlazada dada para que todos los elementos en la lista enlazada aparezcan solo una vez.
Por ejemplo: la
lista enlazada dada es 1-> 1-> 2, y la devuelta 1-> 2. La
lista enlazada dada es 1-> 1- > 2-> 3-> 3, regrese 1-> 2-> 3.
Análisis
- Por ejemplo, 1 1 1 2 3 3, use el puntero cur para recorrer la lista vinculada. Si el siguiente elemento de nodo es el mismo que este elemento de nodo, elimine el siguiente nodo y cur no se moverá. Si el siguiente elemento del nodo no es el mismo que este elemento del nodo, cur se mueve.
código java
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head == null){return head;}
ListNode cur = head;
while(cur != null && cur.next != null){
if(cur.next.val == cur.val){
cur.next = cur.next.next;
}else{
cur = cur.next;
}
}
return head;
}
}