题解 | #二叉树的深度#

二叉树的深度

http://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b

第十题  简单的遍历 统计高度
/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};*/
class Solution {
public:
    int TreeDepth(TreeNode* pRoot) {
        // 如果当前结点下面没有东西了
        // 叶结点 直接返回高度为0
        if (pRoot == NULL )
            return 0;
        // 单纯的深度优先遍历
        // 得到的值是左右子树的最大的高度
        int left_height = TreeDepth(pRoot->left);
        int right_height = TreeDepth(pRoot->right);
        // 左右子树选更高的 再加上自己这一层后返回
        int ans=left_height>right_height?left_height+1:right_height+1;
        return ans;
    }
};

题解 文章被收录于专栏

一遍做剑指offer 一边保存做题步骤 并附带详细注释哦

全部评论

相关推荐

11-22 16:49
已编辑
北京邮电大学 Java
美团 质效,测开 n*15.5
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
09-30 19:49
起名星人:蛮离谱的,直接要求转投销售
投递汇川技术等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务