算法每日一题-字符串逆序输出

算法每日一题-字符串逆序输出

你好! 这是我们今天需要完成的算法,因为博主最近在学习JAVA,所以今天的题目就使用JAVA语言完成。
在这里插入图片描述

开始前的准备

我们先来分析一下题目需求

  1. 将一个字符串的内容颠倒过来 ;
  2. 再输出字符串;

我的想法

想法-1-String

1.录入字符串,因为JAVA,所以我们一般人选择使用String类型。
2.既然要将字符串逆序输出。对于我们人类来说,逆序输出就相当于倒着写,对于电脑也一样。所以我们想到了将 字符串转化为字符数组。
3.转化为字符数组后将新的字符数组再转化为字符串。
4.返回新的字符串。

开始编程

OK!想法很好但是我们要怎么实现,还需要一些什么东西?让我们再回顾一下想法。
首先我们需要将字符串转化为字符数组
解决方法:

String类的toCharArray()方法,将字符串转换为字符数组
String str="hallo world!";
char[] ch;
ch=str.toCharArray();
System.out.println(ch);

然后我们需要将字符数组再转化为字符串
解决方法:

1.利用string构造函数
char[] ch= {‘h’,‘a’,'l','l','o',' ,','w','o','r','l','d','!'};
String str=new String(ch);
System.out.println(str);

2.利用String.valueOf()
char[] ch= {‘h’,‘a’,'l','l','o',' ,','w','o','r','l','d','!'};
String str=String.valueOf(ch);
System.out.println(str);

OK
我们已经知道怎么实现转换功能了,现在正式开始我们的撸代码环节:

	public String characterReverseOutput(String inputStr) {
	
		//将字符串转化为字符数组,存入input_tmp
		char[] input_tmp = new char[255];
		input_tmp = inputStr.toCharArray();	
		
		//用于记录逆序过后的字符串数组
		char[] output_tmp = new char[255];	
		
		//转化字符数组使其逆序排列
		for (int i = input_tmp.length-1,j = 0; i>=0; i--,j++) {
			output_tmp[j] = input_tmp[i];
		}
		
		//将字符数组转化为字符串
		String output_str = new String(output_tmp);//利用构造函数将逆序过后的字符串数组转化为字符串类型
		
		return output_str;
	}

想法-2-char[]

我们也不排除用字符数组存字符串的可能
对于这种情况我们只需要

1)直接将字符数组传入
2)逆序字符数组
3)返回逆序数组

由于时间问题,就不放上代码了,感兴趣的同学可以自己尝试一下。
最后说一句,学会了才是自己的

猜你喜欢

转载自blog.csdn.net/Unity_1773/article/details/83212630