以Java为例 :
比如dfs()
public int dfs(TreeNode node){
//刚进来一般都是边界条件
if(node==null){
return 0;
}
//左递归
int leftval = this.dfs(node.left);
//右递归
int rightval = this.dfs(node.right);
//都要做的操作
int data = Math.abs(leftval-rightval);
this.res += data;
//作为节点返回条件
return leftval+rightval+node.val;
}
//总结,树和递归
1、边界条件
2、递归条件
3、都要做的操作
4、作为节点需要返回条件