/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param pRoot TreeNode类 
 * @return int整型
 */

int  depth(struct TreeNode* root,int dep){
    int depl=dep,depr=dep;
    if(root->left!=NULL) depl=depth(root->left,dep+1);
    if(root->right!=NULL) depr=depth(root->right,dep+1);
    if(depl>depr) dep=depl;
    else dep=depr;
    return dep;
}

int TreeDepth(struct TreeNode* pRoot ) {
    // write code here
    int h;
    if(pRoot==NULL) return 0;
    else h=depth(pRoot,1);
    return h;
}