栈
表达式解析是栈的看家副本:数字栈、符号栈、递归下降,三件套凑齐就能通关四则运算全系列。本合集收录栈类题目。
表达式解析
leetcode 1006
中缀表达式求值一般要维护数字、操作符两个栈;这题操作符顺序是固定循环的,可以省掉操作符栈,只留一个数字栈:乘除和栈顶连着算,加号把数正着入栈,减号把数取负入栈,最后求和。需要注意负数除法的取整方向:题目里的数都是正数,但减号后的那段乘积以负数入栈后再做除法,Python 的 // 向下取整(-42 // 5 == -9),而这里要的是先算正数的商再取负(-8),得写成 int(a / b) 或对绝对值做除法。
leetcode 394
可...