zoukankan      html  css  js  c++  java
  • 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 }

                      

  • 相关阅读:
    VMware搭建VMware ESXi 6.7
    77. Combinations
    47. Permutations II
    system design
    37. Sudoku Solver
    12月9日学习日志
    12月8日学习日志
    12月7日学习日志
    12月6日学习日志
    12月5日学习日志
  • 原文地址:https://www.cnblogs.com/liangbaolong/p/14601513.html
Copyright © 2011-2022 走看看