请教老师代码错误问题,谢谢
来源:3-3 LeetCode:20.有效的括号
less_is_better
2021-06-05
var isValid = function(s) { // 1.判断数组是否为 空 或 奇数,若有,则跳出直接输出 false。 const length = s.length if (!s || length % 2 === 1) {return false} // 2.数组分为两个数组? 一组从最左到中间,另一组从最右到中间 遍历两数组并判断 数组1 与 数组2 是否匹配。 const stack1 = [] const stack2 = [] for (let i = 0; i < (length / 2); i += 1) { const a = s [i] stack1.push(a) for (let j = (length-1); j > (length / 2); j -= 1) {const b = s [j] stack2.push(b) for(let k = 0; k < (length / 2); k += 1) { if ( (stack1(i) === '(' && stack2(i) === ')') || (stack1(i) === '{' && stack2(i) === '}') || (stack1(i) === '[' && stack2(i) === ']') ) {return true} else {return false} } } } };
老师,可以麻烦您帮我看下这个代码是哪里出错了吗?
这个思路不用栈的话可以吗?
多谢老师。
写回答
1回答
-
lewis
2021-06-05
从逻辑上就是错的,合法的括号不一定是对称的,建议按照课程思路实现,另外这道题最适合用栈,别的思路本质也是栈
032021-06-06
相似问题
关于代码报错的问题
回答 3