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; // 栈为空说明所有括号都匹配 }