LeetCode-20. 有效的括号

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

输入: “()”
输出: true

输入: “()[]{}”
输出: true

输入: “(]”
输出: false

输入: “([)]”
输出: false

输入: “{[]}”
输出: true

如果是有效的括号,那么必定至少有一个括号是()或{}或[],只需要逐层消除内部的这些括号,如果消除完了s里没有字符存在,那么它就是有效的括号

class Solution {
    public boolean isValid(String s) {
        while(true){
            if(s.contains("()")){
                s = s.replace("()","");
            }else if(s.contains("[]")){
                s = s.replace("[]","");
            }else if(s.contains("{}")){
                s = s.replace("{}","");
            }else if(s.length()>0){
                return false;
            }else{
                return true;
            }
        }
    }
}

LeetCode-20. 有效的括号
但是这样做的时间和空间花费有点大大