</pre><pre name="code" class="java">public class ReverseString {
public static void main(String[] args){
System.out.println(reverse("abcdefghigklmnopqistuvwxyz"));
System.out.println(stringBuilderReverse("abcdefghigklmnopqistuvwxyz"));
}
/* 方法一
<span style="font-family: Arial, Helvetica, sans-serif;">* 使用反向遍历再拼接字符的方法实现字符串逆转</span>
* 思路:
* 通过toCharArray()方法先将字符串转成字符数组
* 再通过for循环遍历字符数组
*
* 这种方法会产生大量字符串常量
*/
public static String reverse(String s){
char[] ch = s.toCharArray();
String result = "";
for(int i = ch.length - 1; i >= 0; i--){
result+=ch[i];
}
return result;
}
/* 方法二
* 通过StringBuild类实现字符串逆转
* 思路:
* 将字符串转换成StringBuild对象
* 利用StringBuild对象的reverse()方法实现逆转,但是返回值仍是StringBuild类型
* 所以再使用StringBuild对象的substring()方法将StringBuild类型的字符串转换成Sring类型
*
* 这种方法只要三行代码就实现字符串逆转,比上面方法好多了
*/
public static String stringBuilderReverse(String s){
StringBuilder sb = new StringBuilder(s);
sb.reverse();
return sb.substring(0);
}
}
方法三: 通过递归实现字符串反转
public static String reverse(String originStr) {
<span style="white-space:pre"> </span>if(originStr == null || originStr.length() <= 1)
<span style="white-space:pre"> </span>return originStr;
<span style="white-space:pre"> </span>return reverse(originStr.substring(1)) + originStr.charAt(0);
<span style="white-space:pre"> </span>}