C++判断括号是否匹配 只判断()
输入判断次数 输入之后一起输出
具体样例在图片里
这个一般用栈实现,是左括号就进栈,右括号就出栈。最后如果栈不为空就不匹配,或者遇到右括号时栈为空也不匹配
#include <iostream>
using namespace std;
#include <string>
int main()
{
int count = 0;
int n,i,j;
cin>>n;
string s;
for(i=0;i<n;i++)
{
count = 0;
cin>>s;
for(j=0;j<s.length();j++)
{
if(s[j] == '(')
count++;
else if(s[j]==')')
{
if(count > 0)
count--;
else if(count == 0)
break;
}
}
if(j==s.length())
cout<<"TRUE ";
else
cout<<"FALSE ";
}
return 0;
}
遍历字符串长度的一半,判断第一个和最后一个是否匹配,然后继续判断第二个和倒数第二个。。。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!