LC394
字符串解码
栈 · 解码可视化:栈与队列s="3[a]2[bc]",解码为 "aaabcbc"。
时间 O(n)空间 O(1)
题目1 / 13
题目与输入建立输入、目标与算法心智
遇数字累积 k,遇 [ 入栈,遇 ] 弹栈重复
正在加载算法场景...
当前发生了什么
s="3[a]2[bc]",解码为 "aaabcbc"。
机器状态
栈、当前串、数字缓冲。
为什么正确
栈存(重复次数,已解码串);遇 [ 入栈,遇 ] 弹出重复展开。
不变量
栈层对应嵌套括号深度。
面试怎么说
栈处理嵌套:数字+左括号入栈,右括号弹栈重复拼接。
人类输入
s="3[a]2[bc]",解码为 "aaabcbc"。
机制
栈存(重复次数,已解码串);遇 [ 入栈,遇 ] 弹出重复展开。
机器状态
栈、当前串、数字缓冲。
可观察结果
"aaabcbc"。
不变量
- · 栈层对应嵌套括号深度。
常见误区
- · 数字可能多位,要累积 parseInt。
迁移练习
- · LC20 括号
- · LC385 迷你解析器
面试怎么答
栈处理嵌套:数字+左括号入栈,右括号弹栈重复拼接。