Pure Inorder Recursion
Typer | Posted on | |
public class PureInorderRecursion {
static StringBuilder output = new StringBuilder();
public static void main(String[] args) {
int n = 4;
System.out.println("=== Recursive Trace ===");
fun(n, 0);
System.out.println("\n\n=== Final Output ===");
System.out.println(output.toString().trim());
}
static void fun(int n, int level) {
if (n > 0) {
printIndent(level);
System.out.println("fun(" + (n - 1) + ")");
fun(n - 1, level + 1);
printIndent(level);
System.out.println("print " + n + " <-- output");
output.append(n).append(" ");
printIndent(level);
System.out.println("fun(" + (n - 1) + ")");
fun(n - 1, level + 1);
}
}
static void printIndent(int level) {
for (int i = 0; i < level; i++) {
System.out.print("│ ");
}
}
}