struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {}
};
int TreeDepth(TreeNode* pRoot)
{
if(pRoot == NULL)
return 0;
int dLeft = TreeDepth(pRoot -> left);
int dRight = TreeDepth(pRoot -> right);
return(dLeft < dRight) ? (dRight + 1) : (dLeft + 1);
}