String Compression

LeetCode題目: 443. String Compression

My solution:

/**
 * @param {character[]} chars
 * @return {number}
 */
let compress = chars => {
    let writePointer = 0; maxSize = chars.length;
    for(let startPointer = 0, endPointer = 0; startPointer < maxSize; startPointer = endPointer) {
        while(endPointer < maxSize && chars[endPointer] === chars[startPointer]) endPointer++;
        chars[writePointer++] = chars[startPointer];
        let readSize = endPointer - startPointer;
        if(readSize === 1) continue;
        for (let digitChar of String(readSize)) chars[writePointer++] = digitChar;
    }
    return writePointer;
}
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。