代码随想录算法训练营第十一天| 20、1047、150

 20. 有效的括号 

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:0.5h

思路:大致的思路就是当遇到左括号,就在栈中放入相应的右括号,遇到相同的右括号则弹出。具体的不匹配的场景分为以下三种:

            1.左括号多余;2.右括号多余;3.左右括号不匹配。

        第一种遍历完字符串后栈不为空。第二种遍历的过程中栈为空。第三种遍历的过程中栈顶和当前字符不同。

代码:

图1



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

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:0.5h

思路:翻转字符串后,遍历过程中,遇到和栈顶相同的字符弹出,不同的则压入栈中。遍历结束后依次取出栈中的字符组成一个字符串。

代码:

图2



 150. 逆波兰表达式求值 

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:0.5h

思路:遍历整个容器,遇到数字放入栈中,遇到运算符从栈中依次取出两个数字,注意如果是“-”或者“/”,两个数字的顺序是有要求的。栈顶的是减数或除数,栈顶下面的第二个数是被减数或被除数。

代码:

图3
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容