题解 | #二叉树的深度#

二叉树的深度

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) {
        if(!pRoot){
            return 0;
        }
        int max = 0;
        find(pRoot,max,0);
        return max;
    }
    void find(TreeNode* pRoot,int &max, int deep){
        deep++;
        if(pRoot->left){
            find(pRoot->left,max,deep);
        }
        if(pRoot->right){
            find(pRoot->right,max,deep);
        }
        if(!pRoot->left && !pRoot->right){
            if(deep > max){
                max = deep;
            }
        }
    }
};
全部评论

相关推荐

03-27 17:33
门头沟学院 Java
代码飞升:同学院本,你要注意hr当天有没有回复过,早上投,还要打招呼要推销自己,不要一个劲投
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务