Skip to content

Instantly share code, notes, and snippets.

@batogov
Created September 25, 2017 18:02
Show Gist options
  • Save batogov/b2c311883a508b2840d963386df8da6e to your computer and use it in GitHub Desktop.
Save batogov/b2c311883a508b2840d963386df8da6e to your computer and use it in GitHub Desktop.
Is Balanced
function isBalanced(expr) {
let stack = [];
for (let i = 0, length = expr.length; i < length; i++) {
if (expr[i] === '{') {
stack.push(expr[i]);
} else if (expr[i] === '}') {
if (stack.length > 0) {
stack.pop();
} else {
return false;
}
}
}
if (stack.pop()) return false;
return true;
}
var expression = "{{}}{}{}"
var expressionFalse = "{}{{}";
isBalanced(expression); // true
isBalanced(expressionFalse); // false
isBalanced(""); // true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment