给大家介绍一下其中常用和不常用的将字符串过渡过来的方法:
复制代码代码如下:
导入java.util.Stack;
公共类 StringReverse {
公共静态字符串反向1(字符串s){
int 长度 = s.length();
如果(长度 <= 1)
返回 s;
左字符串 = s.substring(0, 长度 / 2);
字符串右 = s.substring(长度/2, 长度);
返回反向1(右)+反向1(左);
}
公共静态字符串reverse2(字符串s){
int 长度 = s.length();
字符串反转=“”;
for (int i = 0; i < 长度; i++)
反向 = s.charAt(i) + 反向;
反向返回;
}
公共静态字符串reverse3(字符串s){
char[] 数组 = s.toCharArray();
字符串反转=“”;
for (int i = array.length - 1; i >= 0; i--)
反转+=数组[i];
反向返回;
}
公共静态字符串reverse4(字符串s){
返回新的 StringBuffer(s).reverse().toString();
}
公共静态字符串reverse5(字符串orig){
char[] s = orig.toCharArray();
int n = s.length - 1;
int halfLength = n / 2;
for (int i = 0; i <= halfLength; i++) {
字符温度 = s[i];
s[i] = s[n - i];
s[n - i] = 温度;
}
返回新的字符串;
}
公共静态字符串reverse6(字符串s){
char[] str = s.toCharArray();
int 开始 = 0;
int end = s.length() - 1;
while(开始<结束){
str[开始] = (char) (str[开始] ^ str[结束]);
str[结束] = (char) (str[开始] ^ str[结束]);
str[开始] = (char) (str[结束] ^ str[开始]);
开始++;
结尾 - ;
}
返回新字符串(str);
}
公共静态字符串reverse7(字符串s){
char[] str = s.toCharArray();
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < str.length; i++)
堆栈.push(str[i]);
字符串反转=“”;
for (int i = 0; i < str.length; i++)
反转 += stack.pop();
返回反转;
}
}