1. 给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。
  2. 有效字符串需满足:
  3. 左括号必须用相同类型的右括号闭合。
  4. 左括号必须以正确的顺序闭合。
示例 1:
输入:s = "()"
输出:true

示例 2:
输入:s = "()[]{}"
输出:true

示例 3:
输入:s = "(]"
输出:false

示例 4:
输入:s = "([)]"
输出:false

示例 5:
输入:s = "{[]}"
输出:true

方法一

/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function(s) {
    var arr = []
    var map = new Map()
    map.set('(',')')
    map.set('{','}')
    map.set('[',']')
    for(let i=0;i<s.length;i++){
        if(map.has(s[i])){
            arr.push(s[i])
        }else{
            if(arr.length==0) return false
            if(map.get(arr[arr.length-1])===s[i]) arr.pop()
            else return false
        }
    }
    if(arr.length) return false
    return true
};

方法二

var len = s.length/2
for(var i=0;i<len;i++){
  s = s.replace("()", "").replace("{}", "").replace("[]", "");
}
if(s){
  return false
}else{
  return true
}