Skip to content

原题链接

LeetCode 20

javascript

/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function(s) {
   if(s.length % 2 !== 0 ){
       return false;
   }
   let stack = [];
   let map = new Map([
       [
         ")","("
       ],
       [
           "]","["
       ],
       [
           "}","{"
       ]
   ])
   s.split("").forEach((item) => {
        if(map.has(item)){
            if(!stack.length || map.get(item) !== stack[stack.length - 1]){
                return false;
            }
            stack.pop();
        }
        else{
            stack.push(item);
        }
   })
   return !stack.length;
};