bool isValid(char* s) {
int len = strlen(s);
char stack[len]; // 使用字符数组模拟栈
int top = -1; // 栈顶指针
for (int i = 0; i < len; i++) {
if (s[i] == '(' || s[i] == '[' || s[i] == '{') {
stack[++top] = s[i]; // 左括号入栈
} else if (s[i] == ')' && top >= 0 && stack[top] == '(') {
top--; // 匹配右括号,栈顶左括号出栈
} else if (s[i] == ']' && top >= 0 && stack[top] == '[') {
top--; // 匹配右括号,栈顶左括号出栈
} else if (s[i] == '}' && top >= 0 && stack[top] == '{') {
top--; // 匹配右括号,栈顶左括号出栈
} else {
return false; // 其他情况不匹配
}
}
return top == -1; // 栈为空说明所有括号都匹配
}