Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function isParenthesisMatched (str) {
- let stack = new Stack();
- let openingParenthesis = ["[", "(", "{"] ;
- let closingParenthesis = ["]", ")", "}"];
- for (let i = 0; i < str.length; i++) {
- if (openingParenthesis.includes(str[i])) {
- stack.push(str[i]);
- } else if (closingParenthesis.includes(str[i])) {
- switch (str[i]) {
- case "]":
- if (stack.peek() === "[") {
- stack.pop();
- } else {
- return false;
- }
- break;
- case "}":
- if (stack.peek() === "{") {
- stack.pop();
- } else {
- return false;
- }
- break;
- case ")":
- if (stack.peek() === "(") {
- stack.pop();
- } else {
- return false;
- }
- break;
- }
- }
- }
- return stack.length() === 0;
- }
- console.log(isParenthesisMatched("{[()]}")); // retruns true
- console.log(isParenthesisMatched("{()}[]")); // returns true
- console.log(isParenthesisMatched("{[)]}")); // returns false
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement