# 二叉树的最大深度 Maximum Depth of Binary Tree

## 题目

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.

## 思路&题解

``````/**
* Definition for a binary tree node.
* public class TreeNode {
*     int val;
*     TreeNode left;
*     TreeNode right;
*     TreeNode(int x) { val = x; }
* }
*/
public int maxDepth(TreeNode root) {
if(root==null){
return 0;
} else {
return Math.max(maxDepth(root.left), maxDepth(root.right)) +1;
}

}
``````

https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/solution/

``````import javafx.util.Pair;
import java.lang.Math;

class Solution {
public int maxDepth(TreeNode root) {
Queue<Pair<TreeNode, Integer>> stack = new LinkedList<>();
if (root != null) {
}

int depth = 0;
while (!stack.isEmpty()) {
Pair<TreeNode, Integer> current = stack.poll();
root = current.getKey();
int current_depth = current.getValue();
if (root != null) {
depth = Math.max(depth, current_depth);