20. 有效的括号
代码:
bool isValid(char* s) {
char a[10000] = " ",t;
int i = 0, top = 0;
while (s[i] != '\0') {
//将该元素对应的括号入栈
if (s[i] == '(' || s[i] == '{' || s[i] == '[') {
if (s[i] == '(') t = ')';
if (s[i] == '{') t = '}';
if (s[i] == '[') t = ']';
top++;
a[top] = t;
}
else {
if (a[top] != s[i])
return false;
else
top--;//若匹配成功则出栈
}
i++;
}
if (top == 0)
return true;
else
return false;
}
注意:
1.需要入栈的不是该元素本身,而是与之对应的括号。