const decodeString = (s) => { const stack = []; let currentNum = 0; let currentStr = ''; for (let ch of s) { if (ch >= '0' && ch <= '9') { currentNum = currentNum * 10 + parseInt(ch); } else if (ch === '[') { stack.push(currentStr); stack.push(currentNum); currentNum = 0; currentStr = ''; } else if (ch === ']') { let num = stack.pop(); let prevStr = stack.pop(); currentStr = prevStr + currentStr.repeat(num); } else { currentStr += ch; } } return currentStr; };