题解 | #有效括号序列#
有效括号序列
https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return bool布尔型 */ private static final Deque<Character> stack = new ArrayDeque<>(); public boolean isValid (String s) { if (s.length() == 0 || s.length() % 2 != 0) return false; char first = s.charAt(0); if (first == ')' || first == ']' || first == '}') return false; stack.push(first); for (int i = 1; i != s.length(); ++i) { char top = '?'; if (stack.peek() != null) top = stack.peek(); if (s.charAt(i) == ')' && top == '(' || s.charAt(i) == ']' && top == '[' || s.charAt(i) == '}' && top == '{') { stack.pop(); } else { stack.push(s.charAt(i)); } } if (stack.isEmpty()) { return true; } return false; } }