java递归函数的写法有哪几种
在Java中,可使用递归函数来解决许多问题。以下是一些常见的递归函数写法:
1. 递归求阶乘:
```java
public static int factorial(int n) {
if (n == 0) {
return 1;
}
return n * factorial(n⑴);
}
```
2. 递归求斐波那契数列:
```java
public static int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n⑴) + fibonacci(n⑵);
}
```
3. 递归求最大公约数(欧几里得算法):
```java
public static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
```
4. 递归遍历二叉树:
```java
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);
}
```
这些只是一些递归函数的示例,实际上递归函数可以用于解决各种问题,你可以根据具体情况编写合适的递归函数。
TOP