这里把问题复杂化一下,假设矩阵中,可选通道可能不止一条,此时要找出一条最短的路。
分为三步走。
第一步把记录的矩阵中,代表墙的1改记为-1,因为后续要在这个矩阵里记录从0,0到x,y的最短步数。
第二步就是把从0,0到x,y的最短步数记录到矩阵中,其中matrix[0][0]记为1。函数:writeMinSteps(int[][] matrix)
第三步就是取到右下角的最短路径,用到了递归。函数:getRoad(int[][] matrix,int x,int y,int value)其中value为矩阵中坐标x,y处的最少步数。