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;
};