Just divide and conquer, which is subproblem of problem.
[return type] recur (TreeNode root, parameter list) {}
return type: bottom up return value
parameter list : pass from top-down