给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
方法一:出栈入栈
class Solution { public boolean isValid(String s) { int len = s.length(); Stack<Character> stack = new Stack<>(); for (int i = 0; i < len; i++) { char ch = s.charAt(i); if (ch == '(' || ch == '{' || ch == '[') stack.push(ch); else if (stack.isEmpty()) return false; else if (ch == ')' && stack.pop() != '(') { return false; } else if (ch == '}' && stack.pop() != '{')return false; else if (ch == ']' && stack.pop() != '[') { return false; } // else if(stack.isEmpty() || (ch == ')' && stack.pop() != '(') || (ch == '}' && stack.pop() != '{') || (ch == ']' && stack.pop() != '[')) // return false; } return stack.isEmpty(); } }标签:ch,20,--,pop,括号,&&,return,letcode,stack From: https://www.cnblogs.com/xinger123/p/16666524.html