算法练习之(任意长度字符串逆向输出)

来源:互联网 发布:淘宝竞价推广 编辑:程序博客网 时间:2024/06/04 19:00

一:问题描述:

将从控制台输入的不定长度的任意字符串逆向输出

二:程序分析:

既然不定长度,说明不能使用反向迭代方式实现,而这里要逆向输出,而且不知道入参的长度,最佳的实现方式就是利用递归来实现。

三:用java语言实现任意长度字符串的逆向输出

package algorithm;import java.util.Scanner;/** * @packagname:algorithm * @classname:InvertedPrint * @date:2017/3/18 * @author:cullinans * @des:倒序输出任意长度的字符串 */public class InvertedPrint {    //逆向输出方法    public static void getInvertedPrint(String str){        char[] strChars=str.toCharArray();//将入参字符串转化成字符数组        if(str.length()==1){//如果只有一个字符,直接将该字符输出            System.out.print(strChars[str.length()-1]);        }else{//如果不止一个字符            //第一步,将最后一个字符输出            System.out.print(str.charAt(str.length()-1));            //第二步,递归逆向输出剩下的字符串            getInvertedPrint(str.substring(0,str.length()-1));        }    }    //测试    public static void main(String[] args){        Scanner scanner=new Scanner(System.in);        String  canKnowLength;        System.out.println("请输入任意长度的字符串:");        canKnowLength=scanner.nextLine();        System.out.println("字符串倒置输出的结果为:");        getInvertedPrint(canKnowLength);    }}

四:运行结果

这里写图片描述

0 0