7 種將字符串反轉的 Java 方法

import java.util.Stack;java

public class StringReverse {ide

 public static String reverse1(String s) {ui

  int length = s.length();spa

  if (length <= 1)orm

   return s;get

  String left = s.substring(0, length / 2);string

  String right = s.substring(length / 2, length);it

  return reverse1(right) + reverse1(left);io

 public static String reverse2(String s) {class

  int length = s.length();

  String reverse = "";

  for (int i = 0; i < length; i++)

   reverse = s.charAt(i) + reverse;

  return reverse;

 public static String reverse3(String s) {

  char[] array = s.toCharArray();

  String reverse = "";

  for (int i = array.length - 1; i >= 0; i--)

   reverse += array[i];http://www.huiyi8.com/jiaoben/

  return reverse; 網頁特效代碼

 public static String reverse4(String s) {

  return new StringBuffer(s).reverse().toString();

 public static String reverse5(String orig) {

  char[] s = orig.toCharArray();

  int n = s.length - 1;

  int halfLength = n / 2;

  for (int i = 0; i <= halfLength; i++) {

   char temp = s[i];

   s[i] = s[n - i];

   s[n - i] = temp;

  }

  return new String(s);

 public static String reverse6(String s) {

  char[] str = s.toCharArray();

  int begin = 0;

  int end = s.length() - 1;

  while (begin < end) {

   str[begin] = (char) (str[begin] ^ str[end]);

   str[end] = (char) (str[begin] ^ str[end]);

   str[begin] = (char) (str[end] ^ str[begin]);

   begin++;

   end--;

  return new String(str);

 public static String reverse7(String s) {

  char[] str = s.toCharArray();

  Stack<Character> stack = new Stack<Character>();

  for (int i = 0; i < str.length; i++)

   stack.push(str[i]);

  

  String reversed = "";

  for (int i = 0; i < str.length; i++)

   reversed += stack.pop();

  

  return reversed;

相關文章
相關標籤/搜索