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

import java.util.Stack;

public class StringReverse {

   public static String reverse1(String s) {

  int length = s.length();

  if (length <= 1)

   return s;

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

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

  return reverse1(right) + reverse1(left);

 public static String reverse2(String s) {

  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];

  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++;http://www.huiyi8.com/font/字體庫

   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;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章