Tabla de contenido
Descripción del problema:
Escriba una función para encontrar el prefijo común más largo en una matriz de cadenas. Devuelve una cadena vacía si no existe un prefijo común ""
Analizar gramaticalmente:
1. Si no hay un prefijo común, devuelva " ", establezca la primera cadena como predeterminada, recorra otras cadenas para compararlas con las cadenas anteriores y finalmente devuelva sus prefijos comunes, escriba uno separado para tomar el prefijo común de dos cadenas función, llame a esta función, la idea de escritura de esta función es la siguiente: tome la longitud común de dos cadenas como índice de bucle, compare si los valores correspondientes de los dos índices son iguales, si son iguales, el index se incrementará en 1, y todas las cadenas se compararán en longitud.
código:
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs:
return ""
Prefix,count = strs[0],len(strs)
for i in range(1,count):
Prefix = self.Lcp(Prefix,strs[i])
if not Prefix:
break
return Prefix
def Lcp(self,str1,str2):
length,index = min(len(str1),len(str2)),0
while index < length and str1[index] == str2[index]:
index += 1
return str1[:index]
resultado de la operación: