Likou 14-el prefijo común más largo

Tema:
escriba una función para encontrar el prefijo común más largo en una matriz de cadenas.
Si no hay un prefijo común, se devuelve una cadena vacía "".

Ejemplo 1:

Entrada: ["flor", "flujo", "vuelo"]
Salida: "fl"

Ejemplo 2:

Entrada: ["perro", "coche de carreras", "coche"]
Salida: ""
Explicación: No hay un prefijo común para la entrada.

Nota:
Toda la entrada solo contiene letras minúsculas az.

Idea:
Usando la clasificación en la matriz, puede ordenar los caracteres en la matriz de acuerdo con el orden de los caracteres (la diferencia entre el final y el final es la mayor en este momento), luego compare el primero y el último en la matriz, y simplemente unirlos.

responder:

public class TheLongestPre {
    
    
    public static void main(String[] args) {
    
    
        String s = theLongestPre(new String[]{
    
    "flower", "flow", "fpple","flod"});
        System.out.println(s);
    }

    public static String theLongestPre(String[] strs){
    
    
        if (strs.length==0) return "";
        if (strs.length==1) return strs[0];
        int len = strs.length;
        Arrays.sort(strs);
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i< strs[0].length(); i++){
    
    
            if (strs[len-1].charAt(i)==strs[0].charAt(i)) {
    
    
                sb.append(strs[0].charAt(i));
            }
            else return sb.toString();
        }
        return sb.toString();
    }
}

Descripción del efecto:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_42898315/article/details/108407717
Recomendado
Clasificación