Valid Parentheses
Given a string containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
The brackets must close in the correct order, "()"
and "()[]{}"
are all valid but "(]"
and "([)]"
are not.
bool isValid(char* s) { int size = strlen(s); char buf[size]; int i = 0; while(*s) { if(*s == '(' || *s == '[' || *s == '{') { buf[i] = *s; i++; } if(*s == ')') { if(buf[i - 1] == '(') i--; else return false; } if(*s == ']') { if(buf[i - 1] == '[') i--; else return false; } if(*s == '}') { if(buf[i - 1] == '{') i--; else return false; } s++; } if(i == 0) return true; else return false; }
- 使用栈