[PYTHON] VERY VERY EASY SOLN. 3 solutions explained O(n). With or without inbuilt functions.
\nclass Solution:\n    def flipAndInvertImage(self, image: List[List[int]]) -> List[List[int]]:\n        """\n        Simple & striaghtforward without using inb
```\nclass Solution:\n    def flipAndInvertImage(self, image: List[List[int]]) -> List[List[int]]:\n        """\n        Simple & striaghtforward without using inbuilt functions.\n     \n        In actual the run time is very less as we are iterating only n/2 time\n        for each image list.\n        Time complexity : O(n * n/2) == O(n^2) \n        Space complexity : O(1)\n        """\n        \n        for im in image: #Iterate through each im list in the image list.\n            i, j = 0, len(im)-1    #Maintain two pointers one at start and one at end.\n            while i <= j:          #Iterate while first pointer is less than or equal to second pointer.\n                im[i], im[j] = im[j]^1, im[i]^1   #swap element at both pointer & complement them at the same time.\n                i +=1              #increment first pointer to move forward\n                j -=1              #decrement second pointer to move backward\n            \n        return image         # return same list\n    \n    \n        """\n        Using inbuilt functions\n        """\n        # for im in range(len(image)):\n        #     image[im] = list(map(lambda a : abs(a-1), reversed(image[im])))\n        # return image\n    \n        """\n        One liner\n        """\n        return [[i^1 for i in im[::-1]] for im in image]\n        \n\n```
['Python', 'Python3']