java 递归算法举例
- 阶乘计算:
public static int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
- 斐波那契数列:
public static int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
- 二叉树遍历:
public static void preorderTraversal(Node node) {
if (node == null) {
return;
}
System.out.print(node.value + " ");
preorderTraversal(node.left);
preorderTraversal(node.right);
}
public static void inorderTraversal(Node node) {
if (node == null) {
return;
}
inorderTraversal(node.left);
System.out.print(node.value + " ");
inorderTraversal(node.right);
}
public static void postorderTraversal(Node node) {
if (node == null) {
return;
}
postorderTraversal(node.left);
postorderTraversal(node.right);
System.out.print(node.value + " ");
}
``
原文地址: https://www.cveoy.top/t/topic/eEt8 著作权归作者所有。请勿转载和采集!