Valid Parentheses Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. The brackets must close in the correct order, “()” and “()[]{}” are all valid but “(]” and “([)]” are not. 显然是一个出栈入栈匹配的问题,并且不是完整的四则运算式子,仅有大中小三种括号,不难。 代码如下: public class Solution { public boolean isValid(String s) { int length = s.length(); Stack<Character> stack = new Stack<>(); for (int i=0; i<length; i++) { char c = s.charAt(i); if (c == '(' || c == '[' || c == '{') { stack.push(c); } else if (stack.isEmpty()){ return false; } else { char top = stack.peek(); if ((c == ')' && top == '(') || (c == ']' && top == '[') || (c == '}' && top == '{')) { stack.pop(); } else { return false; } } } return stack.isEmpty(); } } 相关文章: 2021-07-19 2021-11-09 2021-09-27 2021-05-21 2021-07-27 2022-02-13