给定一个仅由'(',')','{','}','[',']'组成的字符串,判断该字符串是否有效。有效的字符串是:左括号必须用相同类型的右括号括起来。左括号必须以正确的顺序闭合。请注意,空字符串被视为有效字符串。示例1:输入:"()"输出:true示例2:输入:"()[]{}"输出:true示例3:输入:"(]"输出:false示例4:输入:"(]"输出:false例5:输入:"([)]"输出:false解法:使用栈结构解题思路:将字符串中的字符一个一个入栈,依次遍历字符判断:首先判断元素是否为{,(,[,直接入栈,否则字符为},),]中的一个,如果字符串有效,元素应该匹配栈顶,例如栈中元素有({,如果要遍历的元素是),则当前元素序列({)不可能有效,所以此时若与栈顶元素匹配失败,则为false直接返回,字符串无效,如果此时栈为空,则字符串有效,如果栈不为空,说明字符串中有不匹配的字符,字符串无效。画一个图片帮助理解:代码实现:constisValid=function(s){letmap={'{':'}','(':')','[':']'}letstack=[]for(leti=0;i
