java 如何反序
反序字符串的方法
使用 StringBuilder 的 reverse() 方法可以快速反序字符串。这种方法简洁高效,适用于大多数场景。
String original = "Hello";
String reversed = new StringBuilder(original).reverse().toString();
System.out.println(reversed); // 输出 "olleH"
反序数组的方法
通过交换数组元素的位置实现反序。需要遍历数组的前半部分,并与对应的后半部分元素交换。

int[] array = {1, 2, 3, 4, 5};
for (int i = 0; i < array.length / 2; i++) {
int temp = array[i];
array[i] = array[array.length - 1 - i];
array[array.length - 1 - i] = temp;
}
System.out.println(Arrays.toString(array)); // 输出 [5, 4, 3, 2, 1]
反序列表的方法
利用 Collections.reverse() 方法可以反序 List 集合。适用于 ArrayList、LinkedList 等实现类。

List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
Collections.reverse(list);
System.out.println(list); // 输出 [5, 4, 3, 2, 1]
递归反序字符串
通过递归调用实现字符串反序。每次递归处理字符串的子串,逐步拼接字符。
public static String reverseString(String str) {
if (str.isEmpty()) {
return str;
}
return reverseString(str.substring(1)) + str.charAt(0);
}
String result = reverseString("Java");
System.out.println(result); // 输出 "avaJ"
使用栈结构反序
利用栈的“后进先出”特性实现反序。将元素压入栈后再弹出,即可得到反序结果。
String input = "Stack";
Stack<Character> stack = new Stack<>();
for (char c : input.toCharArray()) {
stack.push(c);
}
StringBuilder output = new StringBuilder();
while (!stack.isEmpty()) {
output.append(stack.pop());
}
System.out.println(output.toString()); // 输出 "kcatS"






