从起点开始,代码中方向优先级是上右下左,当此方向为路且没有被走过时,则向这方向下一个点走,并入栈(记录路径),若走到某个点四个方向都不能走时,则弹栈此点并返回,直到前面某点可以走另外的方向,走到终点时输出路径,若一直返回到起点并四个方向都不能走了,则迷宫不通。
package p4.分治回溯;
import p3.链式结构.LinkedList;
public class Maze {
private static int[][] maze = {
{
1, 1, 1, 1, 1, 1, 1, 1, 1},
{
0, 0, 1, 0, 0, 0, 1, 1, 1},
{
1, 0, 1, 1, 1, 0, 1, 1, 1},
{
1, 0, 0, 1, 0, 0, 1, 1, 1},