这个问题太适合用栈来解决了,我一看到这个题目的时候想到了栈,但是以往用栈得写一个结构体,结果是我学的太死板了。
bool isValid(char* s) { char stack[1000000]; int top=-1; int len=0; while(s[len]) { if (s[len]==')') { if (top>=0 && stack[top]=='(') top--; else return false; } else if (s[len]==']') { if (top>=0 && stack[top]=='[') top--; else return false; } else if (s[len]=='}') { if (top>=0 && stack[top]=='{') top--; else return false; } else { top=top+1; stack[top]=s[len]; } len++; } return top==-1; }