给大家介绍其中常用和不常用的将字符串翻转过来的方法:
复制代码代码如下:
impor java.util.Stack;
kelas publik StringReverse {
String statis publik reverse1(String s) {
int panjang = s.panjang();
jika (panjang <= 1)
kembali;
String kiri = s.substring(0, panjang / 2);
String kanan = s.substring(panjang / 2, panjang);
kembali reverse1(kanan) + reverse1(kiri);
}
String statis publik reverse2(String s) {
int panjang = s.panjang();
String terbalik = "";
untuk (int i = 0; i < panjang; i++)
mundur = s.charAt(i) + mundur;
kembali mundur;
}
String statis publik reverse3(String s) {
char[] array = s.toCharArray();
String terbalik = "";
untuk (int i = array.panjang - 1; i >= 0; i--)
membalikkan += larik[i];
kembali mundur;
}
String statis publik reverse4(String s) {
kembalikan StringBuffer(s).reverse().toString();
}
String statis publik reverse5(String asal) {
char[] s = asal.toCharArray();
int n = s.panjang - 1;
int setengahPanjang = n / 2;
untuk (int i = 0; i <= setengahPanjang; i++) {
karakter suhu = s[i];
s[saya] = s[n - saya];
s[n - saya] = suhu;
}
kembalikan String baru;
}
String statis publik reverse6(String s) {
char[] str = s.toCharArray();
int mulai = 0;
int akhir = s.panjang() - 1;
while (mulai < akhir) {
str[mulai] = (char) (str[mulai] ^ str[akhir]);
str[akhir] = (char) (str[mulai] ^ str[akhir]);
str[mulai] = (char) (str[akhir] ^ str[mulai]);
mulai++;
akhir--;
}
kembalikan String baru(str);
}
String statis publik reverse7(String s) {
char[] str = s.toCharArray();
Tumpukan<Karakter> tumpukan = Tumpukan<Karakter>();
untuk (int i = 0; i < str.panjang; i++)
tumpukan.push(str[i]);
String terbalik = "";
untuk (int i = 0; i < str.panjang; i++)
terbalik += tumpukan.pop();
kembali terbalik;
}
}