Easy
,Tree
,BFS
,DFS
,Binary Tree
104. Maximum Depth of Binary Tree
Given the root
of a binary tree, return its maximum depth.
A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Example 1:
Input: root = [3,9,20,null,null,15,7]
Output: 3
Example 2:
Input: root = [1,null,2]
Output: 2
Constraints:
Node.val
<= 100
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
return max(self.maxDepth(root.left), self.maxDepth(root.right)) + 1 if root else 0
Ron ChenThu, Feb 16, 2023
function maxDepth(root) {
if (root === null) return 0;
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
}
非遞迴版本
function maxDepth2(root) {
if (root === null) return 0;
const queue = [root];
let depth = 0;
while (queue.length > 0) {
const size = queue.length;
for (let i = 0; i < size; i++) {
const node = queue.shift();
if (node.left !== null) queue.push(node.left);
if (node.right !== null) queue.push(node.right);
}
depth++;
}
return depth;
}
MarsgoatThu, Feb 16, 2023
public class Solution {
public int MaxDepth(TreeNode root) {
return root == null ? 0 : 1 + Math.Max(MaxDepth(root.left), MaxDepth(root.right));
}
}
JimThu, Feb 16, 2023