[Leetcode]104. 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.

思路:只需要简单的递归就好了,如果到达null了就返回高度为0;

 1 /**
 2  * Definition for a binary tree node.
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 class Solution {
11     public int maxDepth(TreeNode root) {
12         int lHeight = 0,rHeight = 0;
13         if(root==null)
14             return 0;
15         else {
16             lHeight = maxDepth(root.left);              //递归求左树的深度
17             rHeight = maxDepth(root.right);           //递归求右树的深度
18         }
19         if (lHeight<rHeight)                                  //因为求的是整棵树的最深深度
20             lHeight = rHeight;                                //所以如果左树比右树浅,则令
21         return lHeight+1;                                     //lHeight = rHeight,然后返回
22     }                                                                 
23 }    
View Code

 

posted @ 2017-10-22 13:13  SkyMelody  阅读(120)  评论(0编辑  收藏  举报