您的位置:首页 > 其它

nyoj2括号匹配 STL

2015-11-13 14:56 671 查看
#include<cstdio>

#include<cstring>

#include<stack>

char str[10000];

using namespace std;

int main()

{

int n,len,i;

scanf("%d",&n);

while(n--)

{

scanf("%s",&str);

stack<char>a;

a.push(str[0]);

len = strlen(str);

for(i = 1;i < len;i++)

{

if(a.size() != 0)

{

if(a.top() == '[' && str[i] == ']')

{

a.pop();

}

else if(a.top() == '(' && str[i] == ')')

{

a.pop();

}

else

{

a.push(str[i]);

}

}

else

{

a.push(str[i]);

}

}

if(a.empty())

{

printf("Yes\n");

}

else

{

printf("No\n");

}

}

return 0;

}

这是STL之<stack>,这种方法很简便,但是就是设计到栈的使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: