在Java中,可以使用递归函数来解决许多问题。以下是一些常见的递归函数写法:
- 递归求阶乘:
public static int factorial(int n) { if (n == 0) { return 1; } return n * factorial(n-1); }
- 递归求斐波那契数列:
public static int fibonacci(int n) { if (n <= 1) { return n; } return fibonacci(n-1) + fibonacci(n-2); }
- 递归求最大公约数(欧几里得算法):
public static int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); }
- 递归遍历二叉树:
class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } public static void traverse(TreeNode node) { if (node == null) { return; } traverse(node.left); traverse(node.right); System.out.println(node.val); }
这些只是一些递归函数的示例,实际上递归函数可以用于解决各种问题,你可以根据具体情况编写适合的递归函数。