LeetCode题解:20. 有效的括号,for循环replace,JavaScript,详细注释
chencl1986 opened this issue · 0 comments
chencl1986 commented
阅读更多系列文章请访问我的GitHub 博客
原题链接:https://leetcode-cn.com/problems/valid-parentheses/
解题思路:
- 成对括号的数量正好是字符串长度的1/2,假设有n对括号。
- 循环n次,每次用replace替换掉一组成对括号。
- 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;
};