F1.双指针,提升交换的速度
import java.util.*;
public class Solution {
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
public String solve (String str) {
// write code here
//将字符串变为字节数组
char[] chars = str.toCharArray();
//定义left,right两个指针
int left = 0;
int right = chars.length - 1;
for (int i = 0; left < right; i++) {
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
return new String(chars);
}
}
F2.循环遍历,并创建一个新的字符数组
import java.util.*;
public class Solution {
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
public String solve (String str) {
// write code here
//字符串转换程数组
char[] chars = str.toCharArray();
//创建同样大小的字符数组
char[] tarChars = new char[str.length()];
//利用下标创建符合要求的字符数组
for (int i = 0; i < chars.length; i++) {
tarChars[i] = chars[chars.length - i - 1];
}
//返回字符串对象
return String.copyValueOf(tarChars);
}
}
F3.使用StringBuilder构造一个字符串
import java.util.*;
public class Solution {
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
public String solve (String str) {
// write code here
//利用str创建一个stringbuilder对象
StringBuilder stringBuilder = new StringBuilder(str);
//使用Stringbuilder对象反转字符串
StringBuilder res = stringBuilder.reverse();
//返回一个字符串对象
return res.toString();
}
}