Bracket Matching
by Amin Kodaganur
JavaScript
//Bracket Matching
function validate(str){
var validChecks = {
"(" : ")",
"{" : "}",
"[" : "]"
}
var stack = [];
var lastBracket = "";
var output = "valid";
for(let i = 0; i<str.length; i++){
if(str[i] == "(" || str[i] == "{" || str[i] == "["){
stack.push(str[i]);
lastBracket = str[i];
} else if(str[i] == ")" || str[i] == "}" || str[i] == "]") {
console.log(
"currentBracket " , str[i],
"last", lastBracket,
" Condition", validChecks[lastBracket] != str[i]
);
if(validChecks[lastBracket] != str[i]){
return "not valid";
}else{
stack.pop();
lastBracket = stack[stack.length - 1];
}
}
}
return output;
}
console.log("-------- Result -------");
console.log(validate("{amin,(jhhh)}"));