leetcode笔记 | 20有效的括号(JavaScript)

259 阅读1分钟

有效的括号

CategoryDifficultyLikesDislikes
algorithmsEasy (44.44%)2582-

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

有效字符串需满足:

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

个人题解

var isValid = function(s) {
    const obj = {
        '{':'}',
        '(':')',
        '[':']'
    }
    let arr = [];
    for(let i = 0;i<s.length;i++){
        if(s[i]==='('||s[i]==='{'||s[i]==='['){
            arr.push(s[i]);
        }else if(s[i]!==obj[arr[arr.length-1]]){
            return false;
        }else {
            arr.pop(s[i]);
        }
    }
    return arr.length === 0;
};

分析

【栈概念】

  • 匹配类的操作,可以定义一个一一对应的对象。
  • arr.length === 0本身就返回布尔值。