最长有效括号
var longestValidParentheses = function(s) {
if (!s) {
return 0;
}
let stack = [];
let maxLen = 0;
let start = 0
for (let i = 0; i < s.length; i++) {
if (s[i] === '(') {
stack.push(i);
} else if (s[i] === ')') {
// 如果stack为空
if (!stack.length) {
start = i + 1
} else {
stack.pop();
if (stack.length) {
maxLen = Math.max(maxLen, i - stack[stack.length- 1])
} else {
maxLen = Math.max(maxLen, i - start + 1)
}
}
}
}
return maxLen
};
斐波那契数
var fib = function(n) {
if (n === 0) {
return 0;
}
if (n === 1) {
return 1;
}
return fib(n - 1) + fib(n - 2);
};