代码改变世界

104_Maximum Depth of Binary Tree

2015-11-27 17:03  FTD_W  阅读(112)  评论(0编辑  收藏  举报

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.

 

求二叉树的深度,使用深度优先遍历,用递归的方法。(在递归时,函数体尽量考虑简单的返回某个结果,个人认为考虑太多会容易乱)

 

 

C语言代码如下

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
 


int maxDepth(struct TreeNode* root) 
{
    int leftHeight = 1;
    int rightHeight = 1;
    if(root == NULL)
    {
        return 0;
    }
    
    leftHeight += maxDepth(root->left);
    rightHeight += maxDepth(root->right);
    
    return leftHeight > rightHeight ? leftHeight : rightHeight;
}