17. Reverse an Array
The problem can be found at the following link: Problem Link
🗳️ Cast Your Vote!
Have your say in shaping the future of our repository! Visit our active discussion poll and make your voice heard. 🌟
Note: I'm currently in the middle of my exams until November 19, so I’ll be uploading daily POTD solutions, but not at a fixed time. Apologies for any inconvenience, and thank you for your patience!
Problem Description
You are given an array of integers arr[]. Your task is to reverse the given array.
Examples:
Input:
arr = [1, 4, 3, 2, 6, 5]
Output:
[5, 6, 2, 3, 4, 1]
Explanation:
The elements of the array are 1 4 3 2 6 5. After reversing the array, the first element goes to the last position, the second element goes to the second-last position, and so on. Hence, the answer is [5, 6, 2, 3, 4, 1].
Input:
arr = [4, 5, 2]
Output:
[2, 5, 4]
Explanation:
The elements of the array are 4 5 2. The reversed array will be [2, 5, 4].
Input:
arr = [1]
Output:
[1]
Explanation: The array has only a single element, hence the reversed array is the same as the original.
Constraints:
1 <= arr.size() <= 10^50 <= arr[i] <= 10^5
My Approach
Reversal Process:
The main idea is to reverse the array in-place by swapping elements from both ends.
We initialize two pointers:
leftat the beginning of the array andrightat the end.We swap
arr[left]andarr[right], then moveleftforward andrightbackward until they cross each other.This process effectively reverses the array.
Alternative Approaches:
XOR Swap Method: You can swap elements using XOR to avoid a temporary variable.
Using List Reverse: In some languages, you can simply call the reverse function on the array.
Time and Auxiliary Space Complexity
Expected Time Complexity: O(n), where
nis the number of elements in the array. We perform one pass through the array, swapping elements in place.Expected Auxiliary Space Complexity: O(1), as we only use a constant amount of additional space to track the left and right pointers.
Code (C)
Code (CPP)
Code (Java)
Code (Python)
Contribution and Support
For discussions, questions, or doubts related to this solution, feel free to connect on LinkedIn: Any Questions. Let’s make this learning journey more collaborative!
⭐ If you find this helpful, please give this repository a star! ⭐
📍Visitor Count
Last updated