java中如何逆序
数组逆序
在Java中,可以通过循环或使用Collections.reverse()方法逆序数组。对于基本类型数组,可以手动交换元素:
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length / 2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
对于对象数组,可以转换为列表后使用Collections.reverse():
Integer[] arr = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.asList(arr);
Collections.reverse(list);
字符串逆序
字符串逆序可以通过StringBuilder的reverse()方法实现:

String str = "Hello";
String reversed = new StringBuilder(str).reverse().toString();
也可以手动遍历字符串并逆序拼接:
String str = "Hello";
String reversed = "";
for (int i = str.length() - 1; i >= 0; i--) {
reversed += str.charAt(i);
}
链表逆序
对于链表结构,可以通过迭代或递归方式逆序。以下是迭代逆序链表的示例:

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 ListNode reverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode reversed = reverseList(head.next);
head.next.next = head;
head.next = null;
return reversed;
}
栈实现逆序
利用栈的先进后出特性可以实现逆序:
Stack<Integer> stack = new Stack<>();
int[] arr = {1, 2, 3, 4, 5};
for (int num : arr) {
stack.push(num);
}
for (int i = 0; i < arr.length; i++) {
arr[i] = stack.pop();
}






