解法一

翻转的同时进行取反操作。均在原数组上进行以节省内存。

  1. class Solution {
  2. public int[][] flipAndInvertImage(int[][] A) {
  3. int n = A.length;
  4. int m = A[0].length;
  5. int i, j;
  6. int tmp;
  7. for (i = 0; i < n; ++i) {
  8. for (j = 0; j < (m + 1) / 2; ++j) {
  9. tmp = A[i][j] ^ 1;
  10. A[i][j] = A[i][m - j - 1] ^ 1;
  11. A[i][m - j - 1] = tmp;
  12. }
  13. }
  14. return A;
  15. }
  16. }