import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return bool布尔型
*/
public boolean isValid (String s) {
// write code here
if (s.length()%2 != 0) return false;
Stack<Character> sk = new Stack<>();
int idx = 0;
while (idx < s.length()) {
char c = s.charAt(idx);
if (c == '[' || c == '{' || c == '(') {
sk.push(c);
} else {
if (sk.isEmpty()) return false; // 没有匹配的左括号 直接 false
char r = sk.pop();
if (r == '[' && c != ']') return false;
if (r == '{' && c != '}') return false;
if (r == '(' && c != ')') return false;
}
idx++;
}
return sk.isEmpty();
}
}