檢查 JavaScript 中括號的合法性
我們需要編寫一個 JavaScript 函式,接收一個字串 str,其中僅包含以下字元 −
'(', ')', '{', '}', '[' and ']'
我們的函式應該確定輸入字串是否有效。
如果滿足以下條件,則輸入字串有效 −
開括號必須用同類型的括號閉合。
開括號必須按正確的順序閉合。
例如 −
"()" 是有效的括號
"()[]{}" 是有效的括號
"(]" 是無效的括號
示例
此程式碼如下 −
const str = "()[]{}"; const isValid = (str = '') => { const map=new Map(); map.set('{','}'); map.set('(',')'); map.set('[',']'); const b=[]; for(let i=0;i<str.length;i++){ if(map.has(str.charAt(i))){ b.push(str.charAt(i)); } else{ let pop=b.pop(); if(map.get(pop)!==str.charAt(i)){ return false; } }; }; return b.length===0; }; console.log(isValid(str));
輸出
控制檯中的輸出如下 −
true false
廣告