Problema
Escriba una función para encontrar la cadena de prefijo común más larga entre una matriz de cadenas.
Análisis
Para resolver este problema, necesitamos encontrar las dos condiciones de bucle. Uno es la longitud de la cuerda más corta. La otra es la iteración sobre cada elemento de la matriz de cadenas.
Solución Java
public String longestCommonPrefix(String[] strs) { if(strs==null || strs.length ==0){ return ""; } if(strs.length == 1){ return strs[0]; } int i=0; while(true){ boolean flag = true; for(int j=1; j<strs.length; j++){ if(strs[j].length()<=i || strs[j-1].length() <=i || strs[j].charAt(i) != strs[j-1].charAt(i)){ flag = false; break; } } if(flag){ i++; }else{ break; } } return strs[0].substring(0, i); } |