确定递归函数的参数和返回值:在递归过程中需要处理的参数,就在递归函数中加上这个参数;同时明确递归的返回值
确定终止值:必须要有一个终止值,否则会发生栈溢出异常
确定单层逻辑:确定每一层递归需要处理的信息
//递归实现 前序遍历
public static void preOrderRecur(Node root) {
if (root == null) {
return;
} else {
System.out.println(root.val);
preOrderRecur(root.left);
preOrderRecur(root.right);
}
}
//递归实现 中序遍历
public static void midOrderRecur(Node root) {
if (root == null) {
return;
} else {
preOrderRecur(root.left);
System.out.println(root.val);
preOrderRecur(root.right);
}
}
//递归实现 后序遍历
public static void postOrderRecur(Node root) {
if (root == null) {
return;
} else {
preOrderRecur(root.left);
preOrderRecur(root.right);
System.out.println(root.val);
}
}
原文:https://www.cnblogs.com/nj123/p/14609253.html