Problem Statement
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.
Thinking
求二叉树深度,基本操作。主要还是递归的使用(非递归实现)
Solution
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public int maxDepth(TreeNode root) {
if(root == null)
return 0;
int depthofLeft = maxDepth(root.left);
int depthofRight = maxDepth(root.right);
return depthofLeft > depthofRight ? depthofLeft + 1 : depthofRight + 1;
}
}