用C语言实现“括号匹配“问题 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:记录力扣 “括号匹配问题” 题目介绍: 声明:题目来源于力扣. 题目链接:传送门 给定一个只包括 的字符串 ,判断字符串是否有效。 有效字符串需满足: 必须用相同类型的闭合。 必须以正确的顺序闭合。 每个都有一个对应的相同类型的。示例 示例1: 输入:s = “()” 输出:true 示例2: 输入:s = “()[]{}” 输出:true 示例3: 输入:s = “(]” 输出:false 解题思路: 此题我们使用’栈’这个结构. 每个左括号都与右边最近的右括号匹配。所以我们可以用栈来保存每个等待匹配的右括号的左括号是什么,只要匹配成功就把素弹出,当字符串遍历结束时如果栈为空,就说明所有括号都互相匹配了。那么这个字符串就是有效的。 例如: 情况1:(右括号过多或者未匹配) 字符串没有遍历结束,而遇到右括号时,栈已经为,则直接返回. 当0 ,1 ,2入栈. 3与2匹配成功,则2出栈. 4与1匹配成功,则1出栈. 5与0匹配成功,0出栈. 此时6为右括号,在栈顶并没有等到他想要的人,因为栈已经为了,则返回.



2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/60291.html