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)

代码解释:

  1. reverse 函数接收三个参数:
    • num:需要逆序的整数
    • arr:存储逆序后的数组
    • index:当前数组索引
  2. 递归终止条件:当 num 等于 0 时,表示所有数字都已处理完毕,递归结束。
  3. 取出最后一位数字:num % 10 获取 num 的最后一位数字,并将其存入数组 arr 的当前索引 index 位置。
  4. 递归处理剩余数字:reverse(num / 10, arr, index + 1)num 除以 10,去掉最后一位数字,并递归调用 reverse 函数,处理剩余的数字,同时将索引 index 加 1,指向下一个数组位置。
  5. 调用方法:首先定义需要逆序的整数 num,然后根据 num 的位数创建一个数组 arr,最后调用 reverse 函数开始逆序操作。

代码示例说明:

例如,当 num 为 12345 时,reverse 函数的调用过程如下:

  1. reverse(12345, arr, 0):将 5 存入 arr[0] 中,然后递归调用 reverse(1234, arr, 1)
  2. reverse(1234, arr, 1):将 4 存入 arr[1] 中,然后递归调用 reverse(123, arr, 2)
  3. ……
  4. reverse(1, arr, 4):将 1 存入 arr[4] 中,然后递归调用 reverse(0, arr, 5)
  5. reverse(0, arr, 5)num 为 0,递归结束。

最终,数组 arr 中将存储逆序后的数字 54321。

总结:

通过递归函数,可以简洁高效地将一个整数逆序后放入一个数组中。该方法易于理解和实现,对于学习递归算法和数组操作具有很好的参考价值。

Java 递归实现整数逆序数组 - 代码示例与伪代码

原文地址: https://www.cveoy.top/t/topic/j8oL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录