跟大家介紹一下其中常用和不常用的將字串過渡過來的方法:
複製程式碼如下:
導入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();
返回反轉;
}
}