递归实现字符串反向输入

来源:互联网 发布:淘宝店铺流失商品 编辑:程序博客网 时间:2024/06/10 22:58
  • 题目:

编写一个递归函数,实现将呼入的任意长度的字符串反向输出的功能,如输入abcd则输出dcba;

思考

  • 列表内容

若不用递归,则直接存储于数组反向输出,或栈,但需要动态申请内存;

  • 递归思路:
    以输入“#”为输入结束条件
void print(){    char a;    scanf("%c" , &a);    if(a!='#')print();    if(a!='#')printf("%c",a);}

若输入A B C #则其过程如下

这里写图片描述

  • Java实现
public class DescOrder_1 {    public static void main(String[] args) {        System.out.println(DescOrder("12asdfg"));    }    private static String DescOrder(String str){        if(str.length()==0||str.length()==1){//递归必须有结束条件            return str;        }               char start = str.charAt(0);        char end = str.charAt(str.length()-1);        return end+DescOrder(str.substring(1, str.length()-1))+start;           }}
0 0
原创粉丝点击