括号匹配题(与写代码时左右括号匹配规则相同),返回最长匹配长度
'[ ]' ====> 2
'[ [ ] [ ] ]' ===> 6
'] [ ]' ===> 2
///答题思路就是借助栈
遍历字符串
如果栈内为空,就将当前元素入栈;
如果不为空,且当前元素为左括号 , 且栈顶元素为右括号的话,就将栈顶元素弹出,然后长度 + 2
如果不为空,且当前元素是左括号,就入栈
// 左右括号匹配的最大长度
function matchStr(str) {
let len = 0
let arr = []
str.split('').forEach(ele => {
if (arr.length === 0) {
arr.push(ele)
}
else {
let top = arr[arr.length - 1]
if (ele == '[') {
arr.push(ele)
}
else {
if (top == '[' && ele == ']') {
len += 2
arr.pop()
}
}
}
})
return len
}
console.log(matchStr('[[]]'));
1.选React框架的理由
2.介绍一下React Router
3.虚拟DOM,它的缺点
4.进程和线程 js中的多进程
5.值传递和引用传递
6.React生命周期
7.React是单向数据绑定还是双向数据绑定