-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
栈
/**
* @param {string} s
* @return {string}
*/
var decodeString = function(s) {
let result = '';
let multi = 0;
const multiStack = [];
const resStack = [];
for (let i = 0; i < s.length; i++) {
const c = s[i];
if (c === '[') {
multiStack.push(multi);
multi = 0;
resStack.push(result);
result = '';
} else if (c === ']') {
let tmp = '';
const currMulti = multiStack.pop();
for (let i = 0; i < currMulti; i++) tmp += result;
result = resStack.pop() + tmp;
} else if (c >= '0' && c <= '9') {
multi = multi * 10 + Number(c);
} else {
result += c;
}
}
return result;
};
Metadata
Metadata
Assignees
Labels
No labels