题解 | #压缩字符串(一)#

压缩字符串(一)

https://www.nowcoder.com/practice/c43a0d72d29941c1b65c857d8ac9047e

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param param string字符串
 * @return string字符串
 */
export function compressString(str: string): string {
    const arr = str.split("");

    let i = 0;
    let j = 1;

    while (j <= arr.length) {
        if (arr[i] === arr[j]) {
            j++;
            continue;
        }

        if (j - i > 1) {
            arr.splice(i, j - i - 1);
            arr[i] = `${arr[i]}${j - i}`;
            i++;
            j -= j - i;
        } else {
            i++;
            j++;
        }
    }

    return arr.join("");
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务