[Java] 7 种将字符串反转的 Java 方法 →→→→→进入此内容的聊天室

来自 , 2021-03-24, 写在 Java, 查看 133 次.
URL http://www.code666.cn/view/1be883ee
  1. import java.util.Stack;
  2. public class StringReverse {
  3.  
  4.  public static String reverse1(String s) {
  5.   int length = s.length();
  6.   if (length <= 1)
  7.    return s;
  8.   String left = s.substring(0, length / 2);
  9.   String right = s.substring(length / 2, length);
  10.   return reverse1(right) + reverse1(left);
  11.  }
  12.  
  13.  public static String reverse2(String s) {
  14.   int length = s.length();
  15.   String reverse = "";
  16.   for (int i = 0; i < length; i++)
  17.    reverse = s.charAt(i) + reverse;
  18.   return reverse;
  19.  }
  20.  
  21.  public static String reverse3(String s) {
  22.   char[] array = s.toCharArray();
  23.   String reverse = "";
  24.   for (int i = array.length - 1; i >= 0; i--)
  25.    reverse += array[i];
  26.  
  27.   return reverse;
  28.  }
  29.  
  30.  public static String reverse4(String s) {
  31.   return new StringBuffer(s).reverse().toString();
  32.  }
  33.  
  34.  public static String reverse5(String orig) {
  35.   char[] s = orig.toCharArray();
  36.   int n = s.length - 1;
  37.   int halfLength = n / 2;
  38.   for (int i = 0; i <= halfLength; i++) {
  39.    char temp = s[i];
  40.    s[i] = s[n - i];
  41.    s[n - i] = temp;
  42.   }
  43.   return new String(s);
  44.  }
  45.  
  46.  public static String reverse6(String s) {
  47.  
  48.   char[] str = s.toCharArray();
  49.  
  50.   int begin = 0;
  51.   int end = s.length() - 1;
  52.  
  53.   while (begin < end) {
  54.    str[begin] = (char) (str[begin] ^ str[end]);
  55.    str[end] = (char) (str[begin] ^ str[end]);
  56.    str[begin] = (char) (str[end] ^ str[begin]);
  57.    begin++;
  58.    end--;
  59.   }
  60.  
  61.   return new String(str);
  62.  }
  63.  
  64.  public static String reverse7(String s) {
  65.   char[] str = s.toCharArray();
  66.   Stack<Character> stack = new Stack<Character>();
  67.   for (int i = 0; i < str.length; i++)
  68.    stack.push(str[i]);
  69.  
  70.   String reversed = "";
  71.   for (int i = 0; i < str.length; i++)
  72.    reversed += stack.pop();
  73.  
  74.   return reversed;
  75.  }
  76.  
  77. }
  78. //java/1312

回复 "7 种将字符串反转的 Java 方法"

这儿你可以回复上面这条便签

captcha