描述
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
数据范围: 0 < n < 1000
要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)
考察过的公司:腾讯
、百度
、微盟
做题
虽然这道题目非常简单,但是也有不少大公司考察了,所以不要好高骛远,脚踏实地地做好每一道题非常的重要。
反转字符串,目前的String
类几乎没有功能能够“一键”完成这个功能,所以就必须得自己写算法了,不能抄捷径了。
反转字符串,字符串其实也可以转成一个数组的,那么我们就可以使用反转数字的方式来反转字符串。
初试
我的第一个想法是:在创建一个数组,一个数组从尾开始遍历,然后按从头开始的顺序把数据插入到另外一个数组。
于是我写了以下的代码:
public String solve (String str) {
// write code here
char[] target = new char[str.length()];
char[] from = str.toCharArray();
int end=str.length()-1;
for(int i=0;i<str.length();i++){