Espada se refiere a la oferta 22. El penúltimo nodo k-ésimo en la lista vinculada

Título: Ingrese una lista vinculada y envíe el penúltimo nodo k-ésimo en la lista vinculada.

1. Método de puntero

1  clase Solución:
 2      def FindKthToTail (self, head, k):        
 3          # escriba el código aquí 
4          si  no es head   o  k == 0  o k < 0: # distingue entre signo igual y símbolo de asignación
 5              return Ninguno
 6          cur = head
 7          para i in range (k-1 ):
 8              si  no es cur.next : # Aquí debe ser cur.next, para garantizar que cur no sea un nodo de cola, de modo que cur = cur.next sea válida; si se reemplaza por cur, puede estar vacío Asignado a cur
 9                  return Ninguno # En este momento, la lista es inferior a k nodos y no se juzga, lo siguiente, mientras que la condición será incorrecta    
 10              más:
 11                  cur = cur.next
 12                  
13          slow = head
 14          while cur.next :
 15              cur = cur.next
 16              slow = slow.next
 17          return slow

2. Método de lista, consume espacio

Solución de clase: 
    def FindKthToTail (self, head, k): 
        # escriba el código aquí 
        l = [] 
        while head! = Ninguno: 
            l.append (head) 
            head = head.next 
        si k> len (l) o k <1: 
            return 
        return l [-k]

 Una oración que vi hoy: "Construye un corazón para el mundo, una vida para la gente, una escuela sagrada para el pasado y paz para el mundo" 

Supongo que te gusta

Origin www.cnblogs.com/wanrongshu/p/12741030.html
Recomendado
Clasificación