括号匹配(栈相关)

栈的基本用法就是先进后出,后进先出。
题目
烤烤最近在一家数据公司实习。实习生嘛,被分配到的总是特别枯燥的任务,他的任务是对一串字符(不超过50个字符,可能包括括号、数字、字母、标点符号、空格)进行字符匹配的判断。
要求检查这一串字符中的( ) ,[ ],{ }是否匹配。做了一上午,烤烤眼睛都看花了,所以希望你来帮帮他 !
样例:
sin(20+10)
{[}]
输出:
yes
no
思路:
先出现的括号肯定为左括号,可以利用栈,先将出现的左括号入栈,一旦出现右括号,进行判断,如果最后进入栈的左括号与右括号匹配,则将这一对括号移除栈,继续进行下一个右括号判断,直至结束,如果都匹配,此时栈是空的,将栈是否为空的作为最终条件,若是则判断yes,栈不为空为判断为no。
代码
#include #include #include using namespace std; bool cmp(char a,char b) {     return a=='('&&b==')'

括号匹配(栈相关)最先出现在Python成神之路

版权声明:
作者:siwei
链接:https://www.techfm.club/p/15040.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>