思想:首先判断字符串是否是包含偶数个字符,如果为奇数个肯定存在括号对应不上,然后再通过一定要先有左括号再有右括号,所以我们利用map先判断是否存在,如果是我们先设定可以包含的数据再进行push,如果不存在则不合法。其次我们将最后一个数据对应的右括号和当前的字符比较,如果不相等或者已有数据为空则返回false,不然就将最后一个数据弹出。最后判断是否全部弹出,如果是则为有效负责就无效。
var isValid = function(s) {if(s.length%2 !== 0) return falseconst map = new Map([['(',')'],['{','}'],['[',']']])let stk = []for( ch of s){if(map.has(ch)){stk.push(ch)}else{(stk[stk.length - 1]) !== ch || stk.length == 0 ) return falseelse stk.pop()}}return stk.length == 0
};
本文发布于:2024-02-01 09:36:40,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170675140035702.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |