Balanced Brackets

  • + 0 comments

    Could anyone please tell what i am doing wrong in this code. 3 test cases are failing -

    function isBalanced(s) {
        // Write your code here
        if(!s || s == "" ) {
            return "NO"
        }
        let arr = s.split("");
        let arrLength = arr.length;
        if((arrLength % 2) != 0) {
            return "NO"
        }
        let bracketsObj = {
            "(": ")",
            "{": "}",
            "[": "]"
        };
        let closingBrackets = Object.values(bracketsObj);
        let tempArray = [];
        for(let i = 0; i< arrLength; i++) {
            let isMatched = false;
            if(closingBrackets.includes(arr[i])) {
                if(bracketsObj[tempArray.pop()] != arr[i]) {
                    return "NO";
                }
            } else {
                tempArray.push(arr[i]);
            }
        }
        return "YES"
    }