二叉树的最大深度-LintCode

来源:互联网 发布:java cookies和session 编辑:程序博客网 时间:2024/05/16 08:48

描述:

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的距离。


样例:

给出一棵如下的二叉树:

  1 / \ 2   3   / \  4   5

这个二叉树的最大深度为3.


思路:

这个题就是递归,不断返回左右子树中较大的高度。


代码:

/** * Definition of TreeNode: * class TreeNode { * public: *     int val; *     TreeNode *left, *right; *     TreeNode(int val) { *         this->val = val; *         this->left = this->right = NULL; *     } * } */class Solution {public:    /**     * @param root: The root of binary tree.     * @return: An integer     */                int maxDepth(TreeNode *root)     {        // write your code here        if(root==NULL)        return 0;                int lheight=0, rheight=0;                lheight=maxDepth(root->left);        rheight=maxDepth(root->right);                if(lheight>rheight)        return lheight+1;        else return rheight+1;                    }};

0 0
原创粉丝点击