package main
import . "nc_tools"
/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 
 * @param pRoot TreeNode类 
 * @return int整型
*/
func TreeDepth( pRoot *TreeNode ) int {
    // write code here
    var dfs func(root *TreeNode) int
    dfs = func(root *TreeNode) int {
        if root == nil {
            return 0
        }

        l := dfs(root.Left)
        r := dfs(root.Right)
        return 1+max(l,r)
    }

    return dfs(pRoot)
}

func max(a, b int) int {
    if a < b {
        return b
    }
    return a
}