payal-kothari
7/15/2017 - 2:05 AM

Handling of 2D array/ matrix From https://leetcode.com/problems/reshape-the-matrix/#/description

public class Solution {
    public int[][] matrixReshape(int[][] nums, int r, int c) {
        
        int rows = nums.length;         // get number of rows*****
        int cols = nums[0].length;      // get number of columns*****
        
        if (rows * cols != r * c){
            return nums;
        }
        
        List<Integer> list = new ArrayList<>();
        for (int i=0; i< rows;i++){             // convert 2D matrix to 1D list
            for(int j =0 ;j<cols; j++){
                list.add(nums[i][j]);
            }
        }
        
        int iter = 0;
        int[][] newMatrix = new int[r][c];
        for (int i=0; i< r;i++){
            for(int j =0 ;j<c; j++){
                
                newMatrix[i][j] = list.get(iter);
                iter++;
            }
        }
        
        return newMatrix;
        
    }
}