JAVA中如何實現字符串的反轉?


第一種:使用遞歸的方法,實現字符串反轉:

 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 }

 

                  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM