【每日一题】2021年11月27日-20. 有效的括号


给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
 

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

//stack不是抽象类
class Solution {
    public boolean isValid(String s) {
        Stack stack = new Stack<>();
        for(Character c : s.toCharArray()) {
            if(c == '{') {
                stack.push('}');
            } else if(c == '(') {
                stack.push(')');
            } else if(c == '[') {
                stack.push(']');
            } else if(stack.isEmpty() || c != stack.pop()) {
                return false;
            }
        }
        return stack.isEmpty(); //不是直接return true,而是看栈是否为空
    }
}