Purnikmn:
Aquí está el enlace a la pregunta original: https://leetcode.com/problems/find-the-difference/
Aquí está mi código. Me aparece un "índice fuera de rango" de error, pero no estoy seguro de por qué.
class Solution:
def findTheDifference(self, s: str, t: str) -> str:
i = 0
ss = list(s)
tt = list(t)
while ss[i] == tt[i]:
i += 1
if ss[i] != tt[i]:
return tt[i]
Marios Stamatopoulos:
Digamos que dar a estos 2 como entradas
s = "abcd"
t = "abcde"
en el cuarto círculo de su bucle i = 3 y se convertirá en 4 ya ss[i] != tt[i]
que es falso que se pondrán a la de la siguiente círculo y evaluará esta expresión ss[i] == tt[i]
y la longitud de SS es 4 y que va a tratar de acceder al 5º elemento, que no lo existe y se finalmente lanzar una IndexError usted podría intentar algo como:
class Solution:
def findTheDifference(self, s: str, t: str) -> str:
i = 0
ss = list(s)+[None]
tt = list(t)
while ss[i] == tt[i]:
i += 1
if ss[i] != tt[i]:
return tt[i]