代码:
class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m = obstacleGrid.length;int n = obstacleGrid[0].length;int[][] pathNum = new int[m][n];if(obstacleGrid[0][0]==1)return 0;pathNum[0][0] = 1;for(int i=1;i<m;i++){if(obstacleGrid[i][0]==1)pathNum[i][0]=0;else pathNum[i][0] = pathNum[i-1][0];}for(int i=1;i<n;i++){if(obstacleGrid[0][i]==1)pathNum[0][i]=0;else pathNum[0][i] = pathNum[0][i-1];}for(int i=1;i<m;i++){for(int j=1;j<n;j++){if(obstacleGrid[i][j]==1)pathNum[i][j]=0;else pathNum[i][j] = pathNum[i-1][j]+pathNum[i][j-1];}}return pathNum[m-1][n-1];}
}