判断括号是否匹配(力扣算法题)

文章介绍了如何使用栈来判断一组括号是否匹配。当遇到左括号时将其入栈,遇到右括号则与栈顶的左括号比较,匹配则弹出,不匹配则返回false。通过举例和图解说明了整个过程,强调理解思路对于编写代码的重要性。

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

上面刚说完栈的实现,我们现在来看一下栈的应用(简单)

我们来看一个题

70424b9d017946938773562c95f3e101.png

1eea0fde7d7843f2b94e5009d9eb5ec9.png 

👌题目就是这样,给一组括号,看括号是否匹配,匹配的话就返回true反之则false

我们先理一下思路,如何判断?

我直接说思路,当我们遇到左括号的时候就入栈,遇到右括号就让右括号与栈顶的括号比较,看是否匹配,如果匹配则弹出栈顶元素,反之则不匹配返回false,就是这样

我们画图理解一下 

ac4699f7fe2c4a6db37dab6b110ca4de.png

 假如是上面的括号,首先两个都是左括号都入栈,下一个就是右括号了,需要取栈顶元素比较看是否匹配

9c1776e2907d4e75a1b69ad1e52646fe.png

这里看到是匹配的

下面又是左括号入栈

68f0d47c473a420fbeba6eeb800f6491.png 

 下面是右括号,看是否匹配

3d7db6b21f57456c994019b627cd2f55.png 

下面是最后一个右括号

ad8f489d7ed14c398922e7ad88653afc.png 

此时栈为空,并且字符串中的数据也比较完毕,所以这部分括号是匹配的

下面我们看一下如何实现

65fb8639c50d40f8b967ba8a1ceaf8d0.png 

如果这里有不懂栈的,可以看一下栈的实现,就是这样

主要的是思路,思路懂了写代码也就更容易一点,还有就是要画图 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Naxx Crazy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值