10大设计师网站,微信怎么申请小程序,自助在线设计平台,wordpress添加搜索插件给定一个只包括 ‘(’#xff0c;‘)’#xff0c;‘{’#xff0c;‘}’#xff0c;‘[’#xff0c;‘]’ 的字符串 s #xff0c;判断字符串是否有效。
有效字符串需满足#xff1a;
左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有…给定一个只包括 ‘(’‘)’‘{’‘}’‘[’‘]’ 的字符串 s 判断字符串是否有效。
有效字符串需满足
左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。
示例 输入s “()” 输出true 示例 2
输入s “()[]{}” 输出true 示例 3
输入s “(]” 输出false
解法一 const isValid function (s) {if (s.length % 2 1) return falselet i0,ns.length/2while (in){ss.replace({},)ss.replace((),)ss.replace([],)i}return s };解法二 const isValid function (s) {if (s.length % 2 1) return falselet i0,ns.length/2for (let j 0; j n; j) {ss.replace({},)ss.replace((),)ss.replace([],)i}return s };解法三 const isValid function (s) {if (s.length % 2 1) return false;let stack [], map {):(,}:{,]:[};for (const ch of s) {if (map[ch]){if (!stack.length || stack[stack.length-1]!map[ch]) return falsestack.pop()} else {stack.push(ch)}}return !stack.length};