檢查 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

更新時間:24-Nov-2020

2K+ 瀏覽量

開啟您的職業生涯

完成課程獲得認證

開始
廣告