Encontrar la diferencia en una matriz

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]

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=402608&siteId=1
Recomendado
Clasificación