表达式解析是栈的看家副本:数字栈、符号栈、递归下降,三件套凑齐就能通关四则运算全系列。本合集收录栈类题目。

表达式解析

leetcode 1006

逆波兰一般要维护数字、操作符两个栈;这题操作符顺序是固定循环的,可以省掉操作符栈。乘除是连着算的,加法单独算,减法减的总是一段乘除的结果,按此模拟即可。需要注意负数除法的取整方向。

leetcode 394

可以用栈迭代模拟,也可以 dfs。这里新学了一个名词:这种 dfs 叫递归下降解析——「下降」指从最高层级一层层往下匹配,是处理嵌套结构的标准方式。

它的特点是维护一个全局 index 扫描字符串。相比每次去搜索匹配的右括号($O(n...

Read more