D

当前:LC394 · 字符串解码 · 首次出现于 Day 13 · 路径:顶栏「56天打卡」→ 点击 LC 题号 → 逐题动画

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 迷你解析器
面试怎么答

栈处理嵌套:数字+左括号入栈,右括号弹栈重复拼接。