云开发核心知识+ 音乐项目实战-coderwhy2022系统课
public static boolean isValid(String string) {
Map<Character, Character> bracketMap = new HashMap<>();
bracketMap.put('[', ']');
bracketMap.put('(', ')');
bracketMap.put('{', '}');
if (string == null || string.isEmpty()) {
return true;
}
Deque<Character> stack = new ArrayDeque<>();
char[] chars = string.toCharArray();
for (char ch : chars) {
if ("[{(".indexOf(ch) >= 0) {
stack.push(ch);
continue;
}
Character head = stack.peek();
if ("]})".indexOf(ch) >= 0) {
if (head != null && ch == bracketMap.get(head)) {
stack.pop();
continue;
} else {
return false;
}
}