题目来源:
leetcode题目,网址:566. 重塑矩阵 - 力扣(LeetCode)
解题思路:
同时按行优先遍历两个数组即可。
解题代码:
class Solution {
public int[][] matrixReshape(int[][] mat, int r, int c) {//矩阵非空
if(mat.length*mat[0].length!=r*c)
return mat;
int[][] res=new int[r][c];
int iRes=0;
int jRes=0;
for(int i=0;i<mat.length;i++){
for(int j=0;j<mat[0].length;j++){
res[iRes][jRes]=mat[i][j];
jRes++;
if(jRes==c){
jRes=0;
iRes=iRes+1;
}
}
}
return res;
}
}
总结:
注意访问不要越界即可。
官方题解用一维表示方法表示二维数组,然后赋值。