bool isValid(char* s) {
char stack[1000000]; //空字符串stack;
int flag = -1; //标志位flag;
while(*s){ //如果字符指针s的内容不为'\0',则执行循环;
if(')' == *s){ //以下三个if任意一个不满足,则括号不匹配,直接返回false;
if(flag>=0 && stack[flag--]=='(');
else return false;
}
else if(']' == *s){
if(flag>=0 && stack[flag--]=='[');
else return false;
}
else if('}' == *s){
if(flag>=0 && stack[flag--]=='{');
else return false;
}else{
stack[++flag] = *s;
}
s ++; //指针s指向下一个字符空间;
}
return -1 == flag; //如果标志位flag等于初值(即-1),则说明括号匹配,否则括号不匹配;
}
自己写的没通过。。。抄,,,借鉴一下~
stack不是为空吗?如何判断的啊?····