题目原址
https://leetcode.com/problems/maximum-depth-of-binary-tree/description/
题目描述
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Note: A leaf is a node with no children.
Example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its depth = 3.
AC代码
示例一:使用递归
class Solution {
public int maxDepth(TreeNode root) {
if(root == null)
return 0;
return Math.max( maxDepth(root.left), maxDepth(root.right)) + 1;
}
}
示例二:使用层的方法,与题637题一样。Leetcode——637. Average of Levels in Binary Tree
class Solution {
public int maxDepth(TreeNode root) {
int depth = 0;
if(root == null)
return depth;
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
while(queue.size() > 0) {
int size = queue.size();
depth ++;
for(int i = 0; i < size; i++) {
TreeNode tn = queue.poll();
if(tn.left != null)
queue.add(tn.left);
if(tn.right != null)
queue.add(tn.right);
}
}
return depth;
}
}