Use a two-pointer approach with `start` and `end`
Swap elements at `start` and `end`
Increment `start`
Decrement `end`
Repeat until `start < end`
Example:
`int[] arr = {1, 2, 3, 4, 5};`
`int start = 0, end = arr.length – 1;`
`while (start < end) {`
` int temp = arr[start];`
` arr[start] = arr[end];`
` arr[end] = temp;`
` start++;`
` end–;`
`}`
Use `Collections.reverse()` for `List
Convert array to list if needed
Example:
`List
`Collections.reverse(list);`
Use `Arrays.sort()` only if reversing sorted order is not required
Use recursion if needed
Example:
`void reverse(int[] arr, int left, int right) {`
` if (left >= right) return;`
` int temp = arr[left];`
` arr[left] = arr[right];`
` arr[right] = temp;`
` reverse(arr, left + 1, right – 1);`
`}`
