同一个数组对象
给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。
for (int i = 0; i < A.length; i++) {
int[] arr1 = new int[A[0].length]; // 不同的对象
for (int j = 0; j < A[i].length; j++) {
arr1[j] = A[i][A[i].length - j - 1];
}
A[i] = arr1;
}
return A; // 正常结果
int[] arr1 = new int[A[0].length]; // 同一个对象
for (int i = 0; i < A.length; i++) {
for (int j = 0; j < A[i].length; j++) {
arr1[j] = A[i][A[i].length - j - 1];
}
A[i] = arr1;
}
// A中是最后一次操作的arr1结果, A[][]中的几个数组对象都是同一个, 会导致结果出现错误
return A;