Try   HackMD

104.Maximum Depth of Binary Tree

tags: 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:

  • The number of nodes in the tree is in the range [0, 104].
  • -100 <= Node.val <= 100

解答

Python

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

Javascript

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

C#

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

Reference

回到題目列表