@[TOC](反转字符串的三种思路(StringBuilder.reverse()方法/从后往前倒序访问字符数组/前后交换)
一、调用StringBuilder.reverse()方法反转字符串
注:查看StringBuilder.reverse()方法源码后发现,其底层实现也是采用了三、前后交换字符数组元素的方式
String str = "abcde";
StringBuilder sb = new StringBuilder(str);
System.out.println(sb.reverse());
二、从后往前倒序访问字符数组
String str = "abcde";
char[] chars = str.toCharArray();
StringBuilder sb = new StringBuilder();
for(int i = chars.length - 1; i >=0; i--) {
sb.append(chars[i]);
}
System.out.println(sb);
三、前后交换字符数组元素
String str = "abcde";
char[] chars = str.toCharArray();
int start = 0,end = chars.length - start - 1;
while (end - start >= 1 || end - start >= 2) {
char startTmp = chars[start];
chars[start] = chars[end];
chars[end] = startTmp;
start++;
end--;
}
System.out.println(String.valueOf(chars));