以下是使用JavaScript实现有效括号算法的代码:

function isValid(s) {
  const stack = [];
  const brackets = {
    "(": ")",
    "[": "]",
    "{": "}"
  };
  
  for (let i = 0; i < s.length; i++) {
    if (brackets[s[i]]) {
      stack.push(s[i]);
    } else {
      const lastBracket = stack.pop();
      if (s[i] !== brackets[lastBracket]) {
        return false;
      }
    }
  }
  
  return stack.length === 0;
}

console.log(isValid("()")); // true
console.log(isValid("()[]{}")); // true
console.log(isValid("(]")); // false
console.log(isValid("([)]")); // false
console.log(isValid("{[]}")); // true

该算法使用栈数据结构来判断括号是否匹配。在遍历字符串时,如果遇到左括号,则将其加入栈中;如果遇到右括号,则从栈顶弹出一个左括号,并判断它与当前右括号是否匹配。如果不匹配,则字符串无效;如果匹配,则继续遍历字符串。最后,如果栈中还有剩余的左括号,说明字符串无效。如果栈为空,则说明字符串有效。

请使用js完成有效括号算法题

原文地址: http://www.cveoy.top/t/topic/brKO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录