package com.neusoft.Test;
import java.util.Stack;
public class converStr {
//第一种
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>strack=new Stack<Character>();
for (int i = 0; i < str.length; i++)
strack.push(str[i]);
String reversed="";
for (int i = 0; i < str.length; i++)
reversed+=strack.pop();
return reversed;
}
}
//第一种
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>strack=new Stack<Character>();
for (int i = 0; i < str.length; i++)
strack.push(str[i]);
String reversed="";
for (int i = 0; i < str.length; i++)
reversed+=strack.pop();
return reversed;
}
}