Skip to content

Instantly share code, notes, and snippets.

@angrypie
Last active March 6, 2016 19:26
Show Gist options
  • Save angrypie/f2c4e3822cb3fc6246b7 to your computer and use it in GitHub Desktop.
Save angrypie/f2c4e3822cb3fc6246b7 to your computer and use it in GitHub Desktop.
let correctBrackets = (str) => {
let allowedSymbols = {
'[': 1, '{': 1, '<': 1, '(': 1, ']': 1, '}': 1, '>': 1, ')': 1
}
let brackets = { '[': ']', '{': '}', '<': '>', '(': ')' }
let count = 0, ob = [], result = [];
for(let c of str) {
if(!allowedSymbols[c]) return null;
if(brackets[c]) {
ob.push(c);
result.push(c);
count++;
} else {
if(ob.length == 0) return null;
result.push(brackets[ob.pop()]);
count --;
}
}
return count == 0 ? result.join('') : null;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment