挺简单的
class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int dp[110][110]={1}; if(obstacleGrid.size()==0||obstacleGrid[0].size()==0) return 0; int m=obstacleGrid.size(); int n=obstacleGrid[0].size(); for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(obstacleGrid[i][j]==1) dp[i][j]=0; else { if(i-1>=0&&j-1>=0) dp[i][j]=dp[i-1][j]+dp[i][j-1]; else if(i-1>=0&&j-1<0) dp[i][j]=dp[i-1][j]; else if(i-1<0&&j-1>=0) dp[i][j]=dp[i][j-1]; else dp[i][j]=1; } } } return dp[m-1][n-1]; } };