代码随想录算法训练营第十一天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值

20. 有效的括号 

讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。 

大家先自己思考一下有哪些不匹配的场景,在看视频我讲的都有哪些场景,落实到代码其实就容易很多了。

题目链接/文章讲解/视频讲解:https://programmercarl.com/0020.%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B7.html

重点是特殊情况有几种,一定要能全部找到并列出来,这题一共有三种特殊情况会导致不匹配:1、左括号多了;2、右括号多了;3、左右括号按照顺序不匹配

1047. 删除字符串中的所有相邻重复项 

栈的经典应用。 

要知道栈为什么适合做这种类似于爱消除的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。

题目链接/文章讲解/视频讲解:https://programmercarl.com/1047.%E5%88%A0%E9%99%A4%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E7%9B%B8%E9%82%BB%E9%87%8D%E5%A4%8D%E9%A1%B9.html

上述完全不对:

1、就一个函数,你搞啥公共栈;

2、视频里是简略代码实现思路,但是怎么可以直接返回栈啊喂,顺序也不对啊喂

3、拿什么back()、push_back()为啥不行我也不太清楚,不过根本不需要啊喂,直接top()、push()就可以啦

注意:reverse 基本操作具有O(n)的时间复杂度, O(n)的空间复杂度;

 150. 逆波兰表达式求值 

本题不难,但第一次做的话,会很难想到,所以先看视频,了解思路再去做题 

题目链接/文章讲解/视频讲解:https://programmercarl.com/0150.%E9%80%86%E6%B3%A2%E5%85%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B1%82%E5%80%BC.html

等等,让我来记录一下逆波兰的基本字符串吧,不然以后光看名字想不起来是啥

总而言之,就是不用日常的计算式子(也即中缀表达式),而是计算后缀表达式的结果。

注意:1、关于单引号和双引号:

还是不懂,为什么括号那题就用单引号,加减乘除就用双引号,否则就报错,不都是字符串吗,不理解

2、关于stroll()函数

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容