LeetCode: 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.

 

题解: 题意比较清楚, 找到从root出发最长的一条路径的长度。 采用DFS即可。

相似的一道题: Minimux Depth of Binary Tree 解法: http://www.cnblogs.com/double-win/p/3737237.html 

 1 /**

 2  * Definition for binary tree

 3  * struct TreeNode {

 4  *     int val;

 5  *     TreeNode *left;

 6  *     TreeNode *right;

 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}

 8  * };

 9  */

10 class Solution {

11 public:

12     int minDepth(TreeNode *root) {

13         if(root==NULL) return 0;

14         if(root->left==NULL && root->right==NULL) return 1;

15         

16         int Leftdepth = minDepth(root->left);

17         int Rightdepth = minDepth(root->right);

18     

19         if(Leftdepth==0)

20             return Rightdepth+1;

21         else if(Rightdepth==0)

22             return Leftdepth+1;

23 

24         return min(Leftdepth,Rightdepth)+1;

25     }

26 };

 

你可能感兴趣的:(LeetCode)