Stack 算法题的思考 这类题目也是比较多的,一般比较繁琐。思路类似DFS,不过可以不使用递归实现。 String 解析类 这类比较多的就是计算器,以及分析括号里的内容。例如解析 3[a]2[bc],这时候就可以在遇到[的时候把之前的东西都压到栈里,之后当遇到]的时候把内容再pop出来。 对于计算器,如果是后缀表达式的话,可以把结果都压到栈里,遇到运算符再pop出运算。有括号的话还是按括号的方法,主要要注意加法和乘法的区别。 计算器系列最重要的思想就是前一个符号看作大小的指示,之后那个才用来做计算。例如(1+2)+(3+4), +可以看作是是后一个括号的符号。对于1*2 + 6/3,原理相同。在进行+6/3的时候,先把sign变成+6,并进行除法标记。之后再用除法。……

阅读全文