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

压缩字符串(一)

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

全部评论

相关推荐

27双非本,最近面试被挂麻了面试官说简历内容太简单了,技术栈要单独一行,各位佬有啥建议吗
LZStarV:项目太简单了,你像用什么开发的技术栈没必要写一句话,按点写就好了;有特色的比如说WebSocket、视频流这种狠狠吹,那就好看多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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