Java 递归实现整数逆序数组 - 代码示例与伪代码
Java 递归实现整数逆序数组 - 代码示例与伪代码
本文将介绍如何使用递归函数将一个整数逆序后放入一个数组中,并提供 Java 代码和伪代码示例。
Java 代码:
public static void reverse(int num, int[] arr, int index) {
if (num == 0) {
return;
}
arr[index] = num % 10; // 取出最后一位数字
reverse(num / 10, arr, index + 1); // 递归处理剩余数字
}
// 调用方法
int num = 12345;
int[] arr = new int[String.valueOf(num).length()];
reverse(num, arr, 0);
伪代码:
function reverse(num, arr, index):
if num == 0:
return
arr[index] = num % 10 // 取出最后一位数字
reverse(num / 10, arr, index + 1) // 递归处理剩余数字
# 调用方法
num = 12345
arr = new int[length(num)]
reverse(num, arr, 0)
代码解释:
reverse函数接收三个参数:num:需要逆序的整数arr:存储逆序后的数组index:当前数组索引
- 递归终止条件:当
num等于 0 时,表示所有数字都已处理完毕,递归结束。 - 取出最后一位数字:
num % 10获取num的最后一位数字,并将其存入数组arr的当前索引index位置。 - 递归处理剩余数字:
reverse(num / 10, arr, index + 1)将num除以 10,去掉最后一位数字,并递归调用reverse函数,处理剩余的数字,同时将索引index加 1,指向下一个数组位置。 - 调用方法:首先定义需要逆序的整数
num,然后根据num的位数创建一个数组arr,最后调用reverse函数开始逆序操作。
代码示例说明:
例如,当 num 为 12345 时,reverse 函数的调用过程如下:
reverse(12345, arr, 0):将 5 存入arr[0]中,然后递归调用reverse(1234, arr, 1)。reverse(1234, arr, 1):将 4 存入arr[1]中,然后递归调用reverse(123, arr, 2)。- ……
reverse(1, arr, 4):将 1 存入arr[4]中,然后递归调用reverse(0, arr, 5)。reverse(0, arr, 5):num为 0,递归结束。
最终,数组 arr 中将存储逆序后的数字 54321。
总结:
通过递归函数,可以简洁高效地将一个整数逆序后放入一个数组中。该方法易于理解和实现,对于学习递归算法和数组操作具有很好的参考价值。
原文地址: https://www.cveoy.top/t/topic/j8oL 著作权归作者所有。请勿转载和采集!