我的2D阵列镜像代码是否正确?

时间:2017-04-27 06:48:06

标签: java arrays

public int [][] Mirror(int [][] A1){ 
    int [][] A2 = new int [A1.length][];
    for(int i = 0; i < A1.length; i++) {
        for(int j = A1[i].length-1; j >= 0; j--) {
            A2[i][j] = A1[i][j];
        }
    }
    return A2;
}

我不确定此代码有什么问题。任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:2)

A2[i][j] = A1[i][j]将输入数组的完全相同的值分配给输出数组中的相同索引,因此输出数组将与输入数组相同。

应该是

A2[i][j] = A1[i][A1[i].length-1-j];

这样,例如,输入数组中每行的最后一列成为输出数组中的第一列。