Decode String

LeetCode題目: 394. Decode String

My solution:

/**
 * @param {string} s
 * @return {string}
 */
let decodeString = s => {
    let stack = [], curStr = '', curDigit = '';

    for(const char of s) {
        if(char === '[') {
            stack.push(curStr);
            stack.push(curDigit);
            curStr = '';
            curDigit = '';
        } else if(char === ']') {
            const num = stack.pop();
            let preStr = stack.pop();
            for(let i=0; i<Number(num); i++) {
                preStr += curStr;
            }
            curStr = preStr;
        } else if (!isNaN(char)) {
            curDigit += char
        } else {
            curStr += char;
        }
    }
    return curStr;
};
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。