打卡第11天|力扣20. 有效的括号 、 1047. 删除字符串中的所有相邻重复项 、150. 逆波兰表达式求值 。

文章介绍了使用栈结构解决编程问题的三个示例:检查括号的有效性,删除字符串中的相邻重复项,以及求解逆波兰表达式。在有效括号问题中,通过遍历字符串并管理栈来检查配对。在删除重复项时,利用栈来判断相邻字符是否相同。对于逆波兰表达式,通过栈处理运算符和操作数以计算结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天是打卡第十一天,题目主要是结构的运用

20. 有效的括号

题目链接如下:20. 有效的括号

我们挨个遍历字符串,每有一个向左的字符串我们就往栈里面存一个向右的括号,遍历到向右的括号时,如果栈中类型相同就弹出,如果符号条件就是遍历结束且栈中元素为空,否则不符合条件

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

题目链接如下:1047. 删除字符串中的所有相邻重复项

如果和栈顶存有元素相同,我们删除,反之加入栈中,思路和代码都很容易

在翻题目评论时看到别人写的原地修改,实在厉害,模拟栈的做法

150. 逆波兰表达式求值

逆波兰表达式的顺序实际上就是二叉树的后序遍历,二叉树节点为运算符号,叶子为数字

以(1+2)*(3*4)为例:

这样做便于计算机运行效率的提高,因为不用在意括号的优先级,虽然有点反人类

题目也说了用栈解决,那我们就用栈解决吧

注意这里是一个string数组,所以每个元素都是字符串,我们要用双引号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr丶锤子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值