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 = parens.replace(/\(\)/g,"");
}
return parens.length>0?false:true;
}