26 - 二叉树的最大深度
题目
解答
递归
var maxDepth = function(root) {
if (!root) {
return 0;
}
let left = maxDepth(root.left);
let right = maxDepth(root.right);
return Math.max(left, right) + 1;
};迭代
Last updated
var maxDepth = function(root) {
if (!root) {
return 0;
}
let left = maxDepth(root.left);
let right = maxDepth(root.right);
return Math.max(left, right) + 1;
};Last updated
var maxDepth = function(root) {
return !root ? 0 : Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
};var maxDepth = function(root) {
return getDepth(root, 0)
}
var getDepth = function(node, depth) {
if (!node) {
return depth;
}
return Math.max(getDepth(node.right, depth + 1), getDepth(node.left, depth + 1))
}var maxDepth = function(root) {
let depth = 0;
if (!root) {
return depth;
}
let stack = [root];
let cur_depth = 1;
while (stack.length > 0) {
let cur = stack.pop();
depth = Math.max(depth, cur_depth);
if (cur) {
cur_depth++;
stack.push(cur.left);
cur_depth--;
stack.push(cur.right);
}
}
return depth;
};