[Leetcode 104]二叉树最大深度Maximum Depth of Binary Tree
题目
求二叉树的深度,即根节点出发的最长路径上点的个数,即最长路径+1(本身这个点
https://leetcode.com/problems/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
Example 3:
Input: root = [] Output: 0
Example 4:
Input: root = [0] Output: 1
思路
DFS思路参考最长直径https://leetcode.com/problems/diameter-of-binary-tree/
这里只用找到一边,不用相加,所以是max(left,right)
代码
class Solution { public int maxDepth(TreeNode root) { int ans=dfs(root,0); return ans; } public int dfs(TreeNode root,int ans){ if(root==null) return 0; int left=dfs(root.left,ans); int right=dfs(root.right,ans); ans+=Math.max(left,right); return ans+1; } }