También quiero cepillar el prefijo público más largo de Likou 04 (Woooooo quiero ❤)

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.

Descripción:

Todas las entradas contienen solo letras minúsculas a-z.
Solución uno:

public static class Solution1 {
    
    
	// horizontal scan
	public String longestCommonPrefix(String[] strs) {
    
    
		if (strs.length == 0) {
    
    
			return "";
		}
		String prefix = strs[0];
		for (int i = 1; i < strs.length; i++) {
    
    
			while (strs[i].indexOf(prefix) != 0) {
    
    
				prefix = prefix.substring(0, prefix.length() - 1);
				if (prefix.isEmpty()) {
    
    
					return "";
				}
			}
		}
		return prefix;
	}
}

Solución dos:

public static class Solution2 {
    
    
	// vertical scan
	public String longestCommonPrefix(String[] strs) {
    
    
		if (strs.length == 0) {
    
    
			return "";
		}
		for (int i = 0; i < strs[0].length(); i++) {
    
    
			char c = strs[0].charAt(i);
			for (int j = 1; j < strs.length; j++) {
    
    
				if (i == strs[j].length() || strs[j].charAt(i) != c) {
    
    
					return strs[0].substring(0, i);
				}
			}
		}
		return strs[0];
	}
}

Supongo que te gusta

Origin blog.csdn.net/qq_45864370/article/details/108654757
Recomendado
Clasificación