题意
给一个m*n的矩阵,初始点位于矩阵的左上角,每次只能向下或者向右移动一步,矩阵的值如果是0则代表空位置,如果是1则代表障碍物,求从左上角移动到右下角总共有多少条不同的路径。
分析
这题与62题不同路径的区别在于这题有可能出现障碍物,那么很显然如果某个位置上有障碍物,
则能到达这个位置的路径数是0。
1.第一步先判断当前格子是否有障碍物,不论有多少条路径可以到达上面的格子与左边的格子,只要当前格子有障碍物,那么能到达当前格子的路径数肯定为0。
2.接着需要判断左边的格子是否有障碍物,如果有,则能到达左边的格子的路径数为0,不需要加上左边的路径数。
代码
class Solution {
public:
int uniquePathsWithObstacles(vector<vector<