0316-2020-LEETCODE- preguntas cara de compresión cadena 01.06-

Tema Fuente: https: //leetcode-cn.com/problems/compress-string-lcci/
de compresión de cuerdas. Utilizando el número de caracteres que se repiten, escrito en una manera de lograr la compresión básica cadena. Por ejemplo, la cadena se convierte en aabcccccaaa a2b1c5a3. Si la cadena "comprimido" no son más cortos, se devuelve la cadena original. Usted puede asumir la cadena contiene sólo las letras mayúsculas (A a Z).

Escriba su propia doscientos por ciento :( Es de destacar que el uso de una matriz de caracteres que el uso de métodos internos cadena charAt () mucho más rápido,
casi tres veces el 9 ms vs 3 ms utilizando una matriz de caracteres cuando se utiliza el método de la cuerda en el interior del paquete)

public String compressString(String S) {
        if (S.length() == 0){
            return "";
        }
        char[] array = S.toCharArray();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            sb.append(array[i]);
            int count = 1;
            while (i + 1 < array.length && array[i + 1] == array[i]){
                i++;
                count++;
            }
            sb.append(count);
        }
        if (sb.length() >= array.length){
            return S;
        }
        return sb.toString();
    }
public String compressString(String S) {
        if (S.length() == 0){
            return "";
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < S.length(); i++) {
            sb.append(S.charAt(i));
            int count = 1;
            while (i + 1 < S.length() && S.charAt(i) == S.charAt(i + 1)){
                i++;
                count++;
            }
            sb.append(count);
        }
        if (sb.length() >= S.length()){
            return S;
        }
        return sb.toString();
    }
Publicado 98 artículos originales · ganado elogios 0 · Vistas 2195

Supongo que te gusta

Origin blog.csdn.net/weixin_43221993/article/details/104893675
Recomendado
Clasificación