第一種:使用遞歸的方法,實現字符串反轉:
1 /** 2 * 使用遞歸方法,實現字符串反轉 3 */ 4 public class C { 5 6 static String reverse(String originStr) { 7 if(originStr == null || originStr.length() <= 1){ 8 return originStr; 9 } 10 return reverse(originStr.substring(1)) + originStr.charAt(0); 11 } 12 13 14 public static void main(String[] args) { 15 System.out.println(reverse("123456")); 16 System.out.println(reverse("ABCDEFG")); 17 } 18 }
第二種:使用StringBuilder的reverse()方法,實現字符串反轉:
1 /** 2 * 使用StringBuilder的reverse()方法,實現字符串反轉 3 */ 4 public class D { 5 static String reverse(String str){ 6 StringBuilder result = new StringBuilder(str); 7 return result.reverse().toString(); 8 } 9 10 public static void main(String[] args) { 11 System.out.println(reverse("123456")); 12 System.out.println(reverse("ABCDEF")); 13 } 14 }
第三種:使用字符串數組,實現從尾部開始逐個逆序放入字符串,實現字符串的反轉:
1 /** 2 * 使用字符串數組,實現從尾部開始逐個逆序放入字符串,實現字符串的反轉 3 */ 4 public class E { 5 static String reverse(String str){ 6 // String 轉換成字符數組 7 char[] charArray = str.toCharArray(); 8 // 定義一個空字符串 9 StringBuilder result = new StringBuilder(); 10 11 for (int i = charArray.length-1; i>=0 ; i--) { 12 result.append(charArray[i]); 13 } 14 return result.toString(); 15 } 16 17 18 public static void main(String[] args) { 19 System.out.println(reverse("123456")); 20 System.out.println(reverse("ABCDEF")); 21 } 22 }
第四種:使用String的CharAt()方法,使用String的CharAt方法取出字符串的各個字符,然后插入到字符串中,調用StringBuilder的insert()方法進行操作
1 /** 2 * 使用 String的CharAt方法,使用String的CharAt方法取出字符串的各個字符, 3 * 然后插入到字符串中,調用StringBuilder的insert()方法進行操作 4 */ 5 public class F { 6 7 static String reverse(String str){ 8 StringBuilder result = new StringBuilder(); 9 10 int length = str.length(); 11 12 for (int i = 0; i < length; i++) { 13 result.insert(0,str.charAt(i)); 14 } 15 return result.toString(); 16 } 17 18 public static void main(String[] args) { 19 System.out.println(reverse("123456")); 20 System.out.println(reverse("ABCDEF")); 21 } 22 }