diff --git a/DSA/Javascript/Valid_Parentheses.js b/DSA/Javascript/Valid_Parentheses.js new file mode 100644 index 0000000..ba03908 --- /dev/null +++ b/DSA/Javascript/Valid_Parentheses.js @@ -0,0 +1,22 @@ +// time O(n) | space O(n) +var isValid = function (s) { + const stack = []; + + const brackets = { + '(': ')', + '[': ']', + '{': '}', + }; + + for (const char of s) { + if (char in brackets) { + stack.push(brackets[char]); + } else if (stack.length && stack[stack.length - 1] === char) { + stack.pop(); + } else { + return false; + } + } + + return !stack.length; +};