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

本文探讨了递归调用中栈的作用,以及栈在解决编程问题如有效括号匹配、删除字符串相邻重复项和逆波兰表达式求值中的关键运用,展示了栈作为数据结构在算法中的重要性。

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

今日主题:栈、数据结构

笔记:

递归的实现就是:每一次递归调用都会把函数的局部变量、参数值和返回地址等压入调用栈中。
然后递归返回的时候,从栈顶弹出上一次递归的各项参数。

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

20. 有效的括号 

题目链接/文章讲解/视频讲解:代码随想录

笔记:在写代码之前要分析好有哪几种不匹配的情况,然后根据分析去设置判断条件。在匹配左括号的时候,右括号先入栈,就只需要比较当前元素和栈顶相不相等就可以了,比左括号先入栈代码实现要简单的多

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

题目链接/文章讲解/视频讲解:代码随想录

笔记:栈的经典应用。可以用字符串作为栈。如果题目限制不能用栈,可用双指针法,思路:s[i]==s[i-1],将s[i+1]赋值给s[i]。

150. 逆波兰表达式求值 

题目链接/文章讲解/视频讲解:代码随想录

笔记 :相当于遇到运算符将运算符前两个数进行运算,运算结果再进入下一轮运算

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值