Reverse an array

Reverse the array.

Example 1:

Input: arr: {1,2,3,56}
Output: rev: {56,3,2,1}

Approach:1: Using for loop

Java

import java.util.Arrays;

public class ReverseArray {
   
    public static void main(String[] args) {
        // primitive data type
        int arr[] = { 12356};
        int rev[] = new int[arr.length];

        // reverse the array
        int n = arr.length;
        for (int i = n - 1; i >= 0; i--) {
            rev[n - i - 1] = arr[i];
        }
        // print reverse array
        System.out.println(Arrays.toString(rev));

        // non-primitive data type

        Integer arrNP[] = { 12356 };
        int revNp[] = new int[arrNP.length];

        // reverse the array
        int nNP = arr.length;
        for (int i = nNP - 1; i >= 0; i--) {
            revNp[nNP - i - 1] = arr[i];
        }
        // print reverse array
        System.out.println(Arrays.toString(revNp));
    }
}


Approach: 2: In build function

Java


import java.util.Arrays;
import java.util.Collections;

public class ReverseArray {
    public static void main(String[] args) {
// non primitive data type
        Integer arr[] = { 12356};
        Collections.reverse(Arrays.asList(arr));
        System.out.println(Arrays.toString(arr));

// primitive data type- using java

        int arrP[] = { 12356 };
        int[] rev = IntStream.rangeClosed(1arrP.length).
            map(i -> arrP[arrP.length-i]).toArray();
        System.out.println(Arrays.toString(rev));
    }
}

Approach: In Place Or Two pointer

Java


import java.util.Arrays;

public class ReverseArray {
    public static void main(String[] args) {
        int arr[] = { 12356 };
        int temp;
        int size = arr.length;
        for (int i = 0; i < size / 2; i++) {
            temp = arr[i];
            arr[i] = arr[size - i - 1];
            arr[size - i - 1] = temp;
        }

        /* print the reversed array */
        System.out.println(Arrays.toString(arr));
    }

}


No comments:

Post a Comment