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"