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