c语言括号怎么用_C语言代码大全

c语言括号怎么用_C语言代码大全用C语言实现“括号匹配“问题🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨🐻推荐专栏1: 🍔🍟🌯C语言初阶🐻推荐专栏2: 🍔

用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为右括号,在栈顶并没有等到他想要的人,因为栈已经为了,则返回.   
在这里插入图片描述   情况2:   左字符串依次入栈,右字符串依次出栈,最后字符遍历结束,而栈也是空栈,则表示括号匹配成功.   当0 ,1 ,2 ,3入栈.   4与3匹配成功,则3出栈.   5与2匹配成功,则2出栈.   6与1匹配成功,则1出栈.   7与0匹配成功,则0出栈.   此时栈为,且字符串遍历结束.返回.   
在这里插入图片描述   情况3:(左括号过多或者未匹配成功)   左括号过多,即使右括号用完(这个例子没用完),字符串遍历结束,栈中仍有素(左括号未找到匹配).   栈非空返回.   
在这里插入图片描述   步骤:   在C语言中使用栈的结构,需要自己造轮子,先设计一个栈出来,文章结尾已经写出,其次是一定要记得(). 计算字符串的长度如果字符串是长度为奇数,则直接返回.遇见左括号入栈遇见右括号先判断栈是否为,为空则直接返回.   不为空,则与栈顶素比较,如果是匹配成功的则出栈,否则直接返回最后如果栈是栈则返回true,否则返回   代码实现:   上面的实现方式还有一个内存泄漏的危险,因为栈空间并没有被释放,应当在每个返回结果之前调用栈().   栈的实现:   提交记录:   
在这里插入图片描述

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

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

(0)
上一篇 2024年 8月 1日 下午11:21
下一篇 2024年 8月 1日 下午11:24

相关推荐

关注微信