Skip to content

LeetCode题解:20. 有效的括号,for循环replace,JavaScript,详细注释 #140

@chencl1986

Description

@chencl1986

阅读更多系列文章请访问我的GitHub 博客

原题链接:https://leetcode-cn.com/problems/valid-parentheses/

解题思路:

  1. 成对括号的数量正好是字符串长度的1/2,假设有n对括号。
  2. 循环n次,每次用replace替换掉一组成对括号。
  3. n次之后,如果字符串不为空,即表示有非成对括号存在。
/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function (s) {
  // 计算可能的括号对数
  let len = s.length / 2;

  // 每次循环替换掉一组括号
  for (let i = 0; i < len; i++) {
    s = s.replace(/(\(\))|(\[\])|(\{\})/, '');
  }

  // 如果字符串不为空,表示有非成对括号
  return s.length ? false : true;
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions