/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return bool布尔型
*/
//创建栈
static char stIn[10000];
static int topIn = 0;
bool isValid(char* s ) {
for(int i=0; s[i]!='\0';i++)
{
//如果为左括号就入栈
if(s[i] == '(' || s[i] == '[' || s[i] == '{')
stIn[topIn++] = s[i];
//如果为右括号就与栈顶元素进行比较
if(s[i] == ')' || s[i] == ']' || s[i] == '}')
{
if(topIn == 0)
return false;
if(s[i] == ')')
if(stIn[--topIn] != '(')
{
return false;
}
if(s[i] == ']')
if(stIn[--topIn] != '[')
{
return false;
}
if(s[i] == '}')
if(stIn[--topIn] != '{')
{
return false;
}
}
}
//如果匹配完后栈不为空,返回假
if(topIn)
return false;
return true;
}