104. Maximum Depth of Binary Tree

给定一个二叉树,找出最大深度。最大深度指的是从根结点到叶子结点所经过的最多的结点数。

思路:标准的递归问题。后序遍历该二叉树,用指针指向正在遍历的结点,如果指针为空,说明当前结点的深度为0;如果指针非空,则获取左子树的深度,再获取右子数的深度,二者中较大的那个深度加上1即为当前子树的深度。

代码如下:

 1 class Solution {
 2 public:
 3     int maxDepth(TreeNode* root) {
 4         if(root == NULL)
 5             return 0;
 6         else{
 7             int LD = maxDepth(root->left);
 8             int RD = maxDepth(root->right);
 9             return (LD>RD?LD:RD)+1;
10         }
11     }
12 };

 

posted @ 2016-06-20 15:38  可爱的熊乖乖  阅读(115)  评论(0)    收藏  举报