Bracket stack case

by Jithin Raj P R

JavaScript

function isValidBrackets(str) {
  const stack = [];
  const bracketMap = {
    ')': '(',
    '}': '{',
    ']': '['
  };

  for (let char of str) {
    // If opening bracket
    if (char === '(' || char === '{' || char === '[') {
      stack.push(char);
    }

    // If closing bracket
    else if (char === ')' || char === '}' || char === ']') {
      if (stack.length === 0) return false;

      const last = stack.pop();
      if (last !== bracketMap[char]) {
        return false;
      }
    }
  }

  return stack.length === 0;
}


const str1 = '{hi bro {how are you}, {who} }';
console.log(isValidBrackets(str1)); // true

const str2 = '{hi bro {how are you}, {who] }';
console.log(isValidBrackets(str2)); // falsehttps://jsfiddle.net/$0