GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — javascript-data-structure/day7-bracket-balance.js at master · a90100/javascript-data-structure Expand file tree/ Copy pathday7-bracket-balance.jsMore file actions 36 lines (32 loc) · 845 Bytes / Copy pathday7-bracket-balance.jsFile metadata and controls36 lines (32 loc) · 845 Bytes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 function peek(stack) { return stack[stack.length - 1] } function isBalanced(str) { let stack = [] let OPENING = '([{' let CLOSEING = ')]}' for (let i = 0; i < str.length; i++) { if (OPENING.includes(str[i])) { stack.push(str[i]) } else if (CLOSEING.includes(str[i])) { let top = peek(stack); if (OPENING.indexOf(top) === CLOSEING.indexOf(str[i])) { stack.pop(); } else { return false; } } } return stack.length === 0 } console.log('true cases:') console.log(isBalanced("()")) console.log(isBalanced("foo(aa[i], {bar: [0,12]})")) console.log() console.log('false cases:') console.log(isBalanced("(")) console.log(isBalanced(")")) console.log(isBalanced(")(")) console.log(isBalanced("(()")) console.log(isBalanced("())")) console.log(isBalanced("foo(3 * ((1 + 4) / 2)")) |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |