Journal Archive

/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function(s) {
	// brackets pairs
    const brackets = {
        "(" : ")",
        "[" : "]",
        "{" : "}",
    }
    
	// use stack to keep track of the
	// the lastest open bracket
    const stack = [];
    
    for (let bracket of s) {
        if (brackets[bracket]) {
            stack.push(bracket);
        } else {
            if (stack.length > 0) {
                if (brackets[stack.pop()] !== bracket) {
                    return false;
                }
            } else {
                return false;
            }
        }
    }
    return stack.length === 0;
};

Day 53: Solving one of LeetCode problems

20. Valid Parentheses Difficulty - 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.

 

Example 1:

Input: s = "()"
Output: true
		

Example 2:

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

Example 3:

Input: s = "(]"
Output: false