Categorías
Algorithms Interview

LeetCode – Prefijo común más largo (Java)

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);
}

  LeetCode - Fracción a decimal recurrente (Java)

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *