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++;
    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;
  }
  
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值