题目描述
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。
测试样例:
"This is nowcoder"
返回:"redocwon si sihT"
思路:将第一个字符与最后字符交换 即可。
代码实现
public String reverseString(String iniString) {
if(iniString.isEmpty())return iniString;
int end = iniString.length()-1;
int start = 0;
char [] chars = iniString.toCharArray();
while (start < end){
char temp = chars[start];
chars[start++] = chars[end];
chars[end--] = temp;
}
return new String(chars);
}