给大家介绍其中常用和不常用的将字符串翻转过来的方法:
复制代码代码如下:
importar java.util.Stack;
classe pública StringReverse {
string estática pública reversa1(String s) {
comprimento interno = s.comprimento();
se (comprimento <= 1)
retornar;
String esquerda = s.substring(0, comprimento/2);
String à direita = s.substring(comprimento / 2, comprimento);
retornar reverso1(direita) + reverso1(esquerda);
}
string estática pública reversa2 (String s) {
comprimento interno = s.comprimento();
String reversa = "";
for (int i = 0; i < comprimento; i++)
reverso = s.charAt(i) + reverso;
retorno reverso;
}
string estática pública reversa3 (String s) {
char[] array = s.toCharArray();
String reversa = "";
for (int i = array.length - 1; i >= 0; i--)
reverso += matriz[i];
retorno reverso;
}
string estática pública reversa4 (String s) {
retornar novo StringBuffer(s).reverse().toString();
}
string estática pública reversa5(String orig) {
char[] s = orig.toCharArray();
int n = s.comprimento - 1;
int halfLength = n/2;
for (int i = 0; i <= halfLength; i++) {
temperatura do caractere = s[i];
s[i] = s[n - i];
s[n - i] = temperatura;
}
retornar nova(s) String(s);
}
string estática pública reversa6 (String s) {
char[] str = s.toCharArray();
int início = 0;
int fim = s.comprimento() - 1;
while (início <fim) {
str[início] = (char) (str[início] ^ str[fim]);
str[end] = (char) (str[início] ^ str[end]);
str[início] = (char) (str[fim] ^ str[início]);
começar++;
fim--;
}
retornar nova String(str);
}
string estática pública reversa7 (String s) {
char[] str = s.toCharArray();
Pilha<Caracter> pilha = new Pilha<Caracter>();
for (int i = 0; i < str.length; i++)
pilha.push(str[i]);
String invertida = "";
for (int i = 0; i < str.length; i++)
invertido += stack.pop();
retorno invertido;
}
}