deleteDuplicates: elimina elementos duplicados en la lista vinculada ordenada

Descripción del Título

Dada una lista vinculada ordenada, elimine todos los elementos duplicados para que cada elemento aparezca solo una vez.

Ejemplo 1:

Entrada: 1-> 1-> 2
Salida: 1-> 2

Ejemplo 2:

Entrada: 1-> 1-> 2-> 3-> 3
Salida: 1-> 2-> 3

Ideas para resolver problemas

1. Tome nota de dos variables l (fijo) yr (mueva a la derecha)
2. Problemas de clasificación encontrados números repetidos-números encontrados (- diferente del número anterior o no cumple ninguna condición)
3. l se refiere a r, L se fija a r nuevamente y r continúa repitiéndose 2
4. Cuando los últimos lyr apuntan al mismo tipo de números, es decir, no hay ningún número de giro posterior (procesamiento especial, código de referencia)

Demostración de código

class Solution {
    
    
    public ListNode deleteDuplicates(ListNode head) {
    
    
        if(head==null)
            return head;
     ListNode l=head;
     ListNode r=l.next;
     while (r!=null)
        {
    
    
            if(r.val>l.val)
            {
    
    
                l.next=r;
                l=r;
            }
            r=r.next;
        }
     if(l.next!=null&&l.val==l.next.val)
         l.next=null;
     return head;
    }
}

efecto

info
		解答成功:
		执行耗时:0 ms,击败了100.00% 的Java用户
		内存消耗:37.8 MB,击败了67.72% 的Java用户

Supongo que te gusta

Origin blog.csdn.net/tangshuai96/article/details/113277571
Recomendado
Clasificación