java如何反转
反转字符串
使用 StringBuilder 或 StringBuffer 的 reverse() 方法可以快速反转字符串。
String original = "Hello";
String reversed = new StringBuilder(original).reverse().toString();
System.out.println(reversed); // 输出 "olleH"
反转数组
通过交换数组元素的位置实现反转。以下是一个通用的数组反转方法。

public static void reverseArray(int[] array) {
int start = 0;
int end = array.length - 1;
while (start < end) {
int temp = array[start];
array[start] = array[end];
array[end] = temp;
start++;
end--;
}
}
// 示例用法
int[] arr = {1, 2, 3, 4, 5};
reverseArray(arr);
System.out.println(Arrays.toString(arr)); // 输出 [5, 4, 3, 2, 1]
反转链表
反转链表可以通过迭代或递归实现。以下是迭代方法的实现。

class ListNode {
int val;
ListNode next;
ListNode(int val) { this.val = val; }
}
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode current = head;
while (current != null) {
ListNode next = current.next;
current.next = prev;
prev = current;
current = next;
}
return prev;
}
反转数字
反转一个整数需要注意溢出问题。以下是反转整数的实现。
public static int reverseNumber(int num) {
int reversed = 0;
while (num != 0) {
int digit = num % 10;
// 检查溢出
if (reversed > Integer.MAX_VALUE / 10 || (reversed == Integer.MAX_VALUE / 10 && digit > 7)) {
return 0;
}
if (reversed < Integer.MIN_VALUE / 10 || (reversed == Integer.MIN_VALUE / 10 && digit < -8)) {
return 0;
}
reversed = reversed * 10 + digit;
num /= 10;
}
return reversed;
}
// 示例用法
int num = 12345;
System.out.println(reverseNumber(num)); // 输出 54321
反转集合
使用 Collections.reverse() 方法可以反转 List 类型的集合。
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
Collections.reverse(list);
System.out.println(list); // 输出 [5, 4, 3, 2, 1]






