20. 有效的括号
接下来是栈的经典应用!
思考:有哪些不匹配的场景?
题目链接/文章讲解/视频讲解:代码随想录
首先,
-->
注意,本题还有类似“剪枝预处理”的操作:如果字符串长度为奇数,那必然存在不匹配的括号!
code:①使用stack(更省空间) ②使用dictionary
1047. 删除字符串中的所有相邻重复项
栈的经典应用。
要知道栈为什么适合做这种类似于“爱消除”的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。
题目链接/文章讲解/视频讲解:代码随想录
操作trick:
还有一个方法:双指针法
150. 逆波兰表达式求值
本题不难,但第一次做的话,会很难想到,所以先看视频,了解思路再去做题
题目链接/文章讲解/视频讲解:代码随想录
逆波兰表达式&实质:二叉树的后序遍历
流程:遇到数字就push进stack中,遇到字符串就弹出stack顶最上面的2个数字并做相应的“+”、“-”、“*”、"%"。然后把结果再次push进stack中。