📋 个人简介
🎉大家好,我是3月份新人榜排名第三的 ༺Blog༒Hacker༻
💬支持我:点赞👍+收藏⭐️+留言📝
🌺格言:༺永做优质༒programmer༻
📣括号匹配问题
题目描述
假设表达式中允许包含圆括号和方括号两种括号,其嵌套顺序随意,
如( )或[([ ][ ])]等均为正确的匹配。[( ])或( 或(( )))等均为错误的匹配。
请编程检验表达式的括号是否匹配,若匹配,则输出“OK”;否则输出“Wrong”。(表达式长度小于255)。
输入格式
一行,如【题目描述】。
输出格式
若匹配,则输出“OK”;否则输出“Wrong”。
样例数据
input
[(])
output
Wrong
数据规模与约定
表达式长度小于255
💯CODE
#include<bits/stdc++.h>
using namespace std;
string s,a;
int top=0;
int main()
{
int n,i,j,flag=0;
cin>>a;
n=a.length();
for(i=0;i<n;++i)
{
if(a[i]=='(' || a[i]=='[')
s[++top]=a[i];
else
if(a[i]==')')
{
if(top==0 || s[top--]!='(')
{
flag=1;
break;
}
}
else
if(a[i]==']')
{
if(top==0 || s[top--]!='[')
{
flag=1;
break;
}
}
}
if(top>0)
flag=1;
if(flag==1)
{
cout<<"Wrong";
}
else
{
cout<<"OK";
}
return 0;
}