Guest User

Untitled

a guest
Nov 16th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="description" content="Balanced Parentheses">
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width">
  7. <title>JS Bin</title>
  8. </head>
  9. <body>
  10.  
  11. <script id="jsbin-javascript">
  12. function isBalanced(str){
  13.  
  14. if(str.length <= 1) return false;
  15.  
  16. let matchingOpeningBracket, ch;
  17. let stack = [];
  18.  
  19. let openBrackets = ['{', '[', '('];
  20. let closeBrackets = ['}', ']', ')'];
  21.  
  22. for(let i = 0; i< str.length; i++) {
  23. ch = str[i];
  24.  
  25. if(closeBrackets.indexOf(ch) > -1){
  26. matchingOpeningBracket = openBrackets[closeBrackets.indexOf(ch)];
  27. if(stack.length == 0 || (stack.pop() != matchingOpeningBracket)) {
  28. return false;
  29. }
  30. } else if(openBrackets.indexOf(ch) > -1){
  31. stack.push(ch);
  32. }
  33.  
  34. }
  35. return true;
  36. }
  37.  
  38. console.log(isBalanced("([wewewe)]")); // false
  39. console.log(isBalanced("(erwerwerwer)")); // true
  40. console.log(isBalanced("{}[]()")); // true
  41. console.log(isBalanced("{[}]")); // false
  42. console.log(isBalanced("{[}]")); // false
  43. console.log(isBalanced("[{()()}({[]})]({}[({})])((((((()[])){}))[]{{{({({({{{{{{}}}}}})})})}}}))[][][]")); // true
  44. console.log(isBalanced("{}[]()")); // true
  45. </script>
  46.  
  47.  
  48.  
  49. <script id="jsbin-source-javascript" type="text/javascript">function isBalanced(str){
  50.  
  51. if(str.length <= 1) return false;
  52.  
  53. let matchingOpeningBracket, ch;
  54. let stack = [];
  55.  
  56. let openBrackets = ['{', '[', '('];
  57. let closeBrackets = ['}', ']', ')'];
  58.  
  59. for(let i = 0; i< str.length; i++) {
  60. ch = str[i];
  61.  
  62. if(closeBrackets.indexOf(ch) > -1){
  63. matchingOpeningBracket = openBrackets[closeBrackets.indexOf(ch)];
  64. if(stack.length == 0 || (stack.pop() != matchingOpeningBracket)) {
  65. return false;
  66. }
  67. } else if(openBrackets.indexOf(ch) > -1){
  68. stack.push(ch);
  69. }
  70.  
  71. }
  72. return true;
  73. }
  74.  
  75. console.log(isBalanced("([wewewe)]")); // false
  76. console.log(isBalanced("(erwerwerwer)")); // true
  77. console.log(isBalanced("{}[]()")); // true
  78. console.log(isBalanced("{[}]")); // false
  79. console.log(isBalanced("{[}]")); // false
  80. console.log(isBalanced("[{()()}({[]})]({}[({})])((((((()[])){}))[]{{{({({({{{{{{}}}}}})})})}}}))[][][]")); // true
  81. console.log(isBalanced("{}[]()")); // true</script></body>
  82. </html>
Add Comment
Please, Sign In to add comment