题目:假设一个表达式有英文字母(小写)、运算符(+,—,∗,/
)和左右小(圆)括号构成,以“@
”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES
”;否则返回“NO
”。表达式长度小于255
,左圆括号少于20
个
代码:
#include<bits/stdc++.h>
using namespace std;
stack<int>s;
int n;
int main()
{
cin>>n;
while(n)
{
if(n=='(')
{
s.push(n);
}
if(n==')')
{
s.top();
}
if(s.empty())
{
cout<<"YES";
return 0;
}
if(!s.empty())
{
cout<<"NO";
return 0;
}
}
}```