这道题是最基本的bfs,但是在三维上玩,所以有必要说一下三维数组在计算机里的存储与我们逻辑上存储的不同。
在计算机里,所有的存储都不会超过一维,所谓的维,只是在你自己脑子里想象出来的(我想象过四维,但是失败了.....),它只会一行一行地帮你把数据压入栈堆,说这么抽象干嘛,举个例子吧
比如说,在你想象中二维数组是这么存的
1 2 3
4 5 6
7 8 9
但是它们在计算机中是这么存的: 1 2 3 4 5 6 7 8 9
可是在你访问它们的时候,也有点像你想象中的那样,这也许就给你造成了一定的误解
比如,三维在你想象中是这么存的
第一层:
1 2 3
4 5 6
7 8 9
第二层:
a b c
d e f
g h i
第三层:
A B C
D E F
G H I
在计算机中是这么存的123456789abcdefghiABCDEFGHI
也就是说你只能顺序访问它,不能跳跃,明白这个很重要