递归只处理当前这一层和下一层之间的关系,并不关心下层和下下层之间的关系。
递归过程图如下:以后序遍历举例:p代表postOrder
public static void preOrder(TreeNode root, List<Integer> res){
if(root == null){
return;
}
res.add(root.val);
preOrder(root.left, res);
preOrder(root.right, res);
}
public static void inOrder(TreeNode root, List<Integer> res){
if(root == null){
return;
}
inOrder(root.left, res);
res.add(root.val);
inOrder(root.right, res);
}
public static void postOrder(TreeNode root, List<Integer> res){
if(root == null){
return;
}
postOrder(root.left, res);
postOrder(root.right, res);
res.add(root.val);
}