20% discount for your first project

Get a Quote

Leetcode Valid Paranthesis Problem

Leetcode Valid Paranthesis Problem

Suboor Khan

#Problem solving#Typescript
Solution of Leetcode Valid Paranthesis Problem

Solution of Leetcode Valid Paranthesis Problem

20. Valid Parentheses

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.

 

Example 1:

Input: s = "()"
Output: true

Example 2:

Input: s = "()[]{}"
Output: true

Example 3:

Input: s = "(]"
Output: false

 

Constraints:

  • 1 <= s.length <= 104
  • s consists of parentheses only '()[]{}'.

Solution:

var mapOpenToClose: Record = {
        '(': ')',
        '{': '}',
        '[': ']'
    }


function isValid(s: string): boolean {
    if(s.length === 1) return false;
    const stack = [];
    for(let x = 0; x < s.length; x++) {
        let currentParan = s[x] // )
        if(mapOpenToClose[currentParan]) stack.push(currentParan) 
        else if(currentParan !== mapOpenToClose[stack[stack.length - 1]]) return false;
        else stack.pop()
    }
    return stack.length === 0
};
HomeServicesCase StudiesHire Us