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

import java.util.Stack;java

public class StringReverse {ide

   public static String reverse1(String s) {字體

  int length = s.length();ui

  if (length <= 1)spa

   return s;orm

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

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

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

 public static String reverse2(String s) {io

  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;

相關文章
相關標籤/搜索