我的js算法爬坑之旅-有效的括号

156 阅读1分钟

第二十五天:力扣第20题,有效的括号

地址:leetcode-cn.com/problems/va…

思路:这题是匹配括号,看完题目要求,应该是用栈实现,先进后出,找到匹配遇到右括号的第一个左括号是否对应即可。

var isValid = function(s) {
  s.split("");
  let res = [];
  let object = {
    '(':')',
    '[':']',
    '{':'}'
  }
  for(let i = 0; i < s.length; i++)
  {
    if(s[i] == '(' ||s[i] == '['||s[i] == '{')
    {
      res.unshift(s[i]);
    }
    else{
      if(object[res.shift()] != s[i])
      {
        return false;
      }
    }
  }
  if(res.length == 0)
  {
    return true;
  }
  else{
    return false;
  }
};
执行用时:84 ms, 在所有 JavaScript 提交中击败了75.44%的用户
内存消耗:37.8 MB, 在所有 JavaScript 提交中击败了34.20%的用户