字符串翻转
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。
测试样例:
输入:
"This is nowcoder"
输出:
"redocwon si sihT"
方法一
直接用StringBuffer类的reverse()方法进行反转:
public void StrReverse(String inStr){
System.out.println(new StringBuffer(inStr).reverse().toString());
}
方法二
先将字符串转换成字符数组,然后通过遍历交换数组前后的元素,最后通过字符数组返回反转后的字符串。
public void StrReverse(String inStr){
char[] temp = inStr.toCharArray();
int i = 0;
int j = temp.length - 1;
while(i < j){
char t = temp[i];
temp[i] = temp[j];
temp[j] = t;
i++; j--;
}
System.out.println(new String(temp));
}
方法三
至后向前遍历字符串,并通过+来连接对应字符到结果变量中。
public void StrReverse(String inStr){
String res = "";
for(int i = inStr.length(); i >= 0; i--){
res += inStr.charAt(i);
}
System.out.println(res);
}
Python版本
def StrReverse(inStr):
print(inStr[::-1])