JavaScript实现括号匹配问题
Description:
Write a function called validParentheses that takes a string of parentheses, and determines if the order of the parentheses is valid. validParentheses should return true if the string is valid, and false if it's invalid.
Examples:
console.log(validParentheses( "()" ) );            // true
console.log(validParentheses( ")(()))" ));          // false
console.log(validParentheses( "(" ));              // false
console.log(validParentheses( "(())((()())())" ));  //true
my answer
function validParentheses(parens){
var n = 0;
for (var i = 0; i < parens.length; i++) {
if (parens[i] == '(') n++;
if (parens[i] == ')') n--;
if (n < 0) return false;
}
return n == 0;
}
best answer
function validParentheses(parens){
while(/\(\)/.test(parens)){
parens = place(/\(\)/g,"");
}
return parens.length>0?false:true;
}正则匹配括号里的内容

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。