1354:括弧匹配检验
【题目描述】假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如 现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配? 输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出 “ 【输入】输入仅一行字符(字符个数小于255)。 【输出】匹配就输出 “ 【输入样例】
【输出样例】
|
[参考代码]
#include<bits/stdc++.h>
using namespace std;
char s[256];
int main() {
string a;
cin>>a;
int len=a.size(),x=0;
for(int i=0; i<len; i++) {
if(a[i]=='('||a[i]=='[')
s[++x]=a[i];
else if((s[x]=='('&&a[i]!=')')||(s[x]=='['&&a[i]!=']')||x==0) {
cout<<"Wrong";
return 0;
} else
x--;
}
if(x==0)
cout<<"OK";
else
cout<<"Wrong";
return 0;
}