Valid Parentheses

View on Leetcode

Easy

Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

An input string is valid if:

  1. Open brackets must be closed by the same type of brackets.
  2. Open brackets must be closed in the correct order.
  3. Every close bracket has a corresponding open bracket of the same type.

Input: s = "()"
Output: true

Input: s = "(]"
Output: false

const peak = (st) => st[st.length - 1]; const isValid = function (s) { if (!s || s.length === 1) return false; const st = []; const openBrackets = ["{", "(", "["]; const map = { ")": "(", "}": "{", "]": "[", }; let i = 0; while (i < s.length) { const curChar = s[i++]; if (openBrackets.includes(curChar)) { st.push(curChar); continue; } if (peak(st) !== map[curChar]) { return false; } st.pop(); } if (st.length) { return false; } return true; };