Картинка по теме:
复制代码代码如下:
импортировать java.util.Stack;
общественный класс StringReverse {
public static Stringverse1(String s) {
длина int = s.length();
если (длина <= 1)
вернуть с;
Строка слева = s.substring(0, длина/2);
Строка вправо = s.substring(длина / 2, длина);
вернуть реверс1 (вправо) + реверс1 (влево);
}
public static Stringverse2(String s) {
длина int = s.length();
Строка обратная = "";
for (int i = 0; я <длина; я++)
реверс = s.charAt(i) + реверс;
возврат реверсом;
}
public static Stringverse3(String s) {
массив char[] = s.toCharArray();
Строка обратная = "";
for (int i = array.length - 1; i >= 0; i--)
обратный += массив [я];
возврат реверсом;
}
public static Stringverse4(String s) {
вернуть новый StringBuffer(s).reverse().toString();
}
public static Stringverse5(String orig) {
char[] s = orig.toCharArray();
int n = s.length - 1;
int halfLength = n/2;
for (int i = 0; i <= halfLength; i++) {
символ темп = с [я];
s[i] = s[n - i];
с[п - я] = темп;
}
вернуть новую строку (строки);
}
public static Stringverse6(String s) {
char[] str = s.toCharArray();
интервал начала = 0;
int end = s.length() - 1;
в то время как (начало <конец) {
стр[начало] = (символ) (стр[начало] ^ стр[конец]);
стр[конец] = (символ) (стр[начало] ^ стр[конец]);
стр[начало] = (символ) (стр[конец] ^ стр[начало]);
начать++;
конец--;
}
вернуть новую строку (str);
}
общедоступная статическая строкаverse7(String s) {
char[] str = s.toCharArray();
Stack<Character> stack = новый Stack<Character>();
for (int i = 0; i <str.length; i++)
stack.push(str[i]);
Строка перевернута = "";
for (int i = 0; i <str.length; i++)
перевернутый += stack.pop();
возврат в обратном направлении;
}
}