检查 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
广告