Description
完成一个递归程序,倒置字符数组。并打印实现过程
递归逻辑为:
当字符长度等于1时,直接返回
否则,调换首尾两个字符,在递归地倒置字符数组的剩下部分
Input
输入描述:
字符数组长度及该数组
输入样例:
Output
输出描述:
在求解过程中,打印字符数组的变化情况。
最后空一行,在程序结尾处打印倒置后该数组的各个元素。
输出样例:
import java.util.Scanner;
public class 递归倒置字符数组 {
public static int n;
public static char[]a;
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
n=s.nextInt();
String str=s.next();
a=str.toCharArray();
digui(0,n-1);
System.out.println();//注意题目要求
for(int i=0;i<n;i++) {
System.out.print(a[i]);
}
}
public static void digui(int i,int j) {
if(i>=j)return;
char temp=a[i];
a[i]=a[j];
a[j]=temp;
for(int k=0;k<n;k++) {
System.out.print(a[k]);
}
System.out.println();//注意题目要求
digui(i+1,j-1);
}
}
题目要求的输出结果长这个样子