Easy Java solution, in-place, DP
\nThe idea is simple, set all obstacles to be 0 while doing the DP. No extra space is used.\n\n     public class Solution {\n            public int uniquePathsW
   \nThe idea is simple, set all obstacles to be 0 while doing the DP. No extra space is used.\n\n     public class Solution {\n            public int uniquePathsWithObstacles(int[][] obstacleGrid) {\n                int m = obstacleGrid.length;\n                int n = obstacleGrid[0].length;\n        \n                obstacleGrid[0][0]^=1;\n                for(int i = 1;i<m;i++){\n                    obstacleGrid[i][0]=(obstacleGrid[i][0]==1)? 0:obstacleGrid[i-1][0];\n                }\n                \n                for(int j = 1;j<n;j++){\n                    obstacleGrid[0][j] =(obstacleGrid[0][j]==1)? 0: obstacleGrid[0][j-1];\n                }\n                for(int i = 1;i<m;i++){\n                    for(int j =1;j<n;j++){\n                        obstacleGrid[i][j] =(obstacleGrid[i][j]==1)? 0: obstacleGrid[i-1][j]+obstacleGrid[i][j-1];\n                    }\n                }\n                return obstacleGrid[m-1][n-1];\n            }\n        }
['Java']