代码:
@Test public void solve() { int i, j = 0; char[][] grid = new char[5][5]; Map<String, Integer> pass = new LinkedHashMap<String, Integer>(); dfs(grid, 0, 0, pass); } private void dfs(char[][] grid, int i, int j, Map<String, Integer> pass) { System.out.println(i + ";" + j); if (i == grid.length) { System.out.println("return i overflow"); return; } if (j == grid[0].length) { System.out.println("return j overflow"); return; } if (pass.get(i + ";" + j) != null) { System.out.println("allready"); return; } else { pass.put(i + ";" + j, 1); } System.out.println("进入 i+1"); dfs(grid, i + 1, j, pass); System.out.println("退出 i+1"); System.out.println("进入 j+1"); dfs(grid, i, j + 1, pass); System.out.println("退出 i+1"); }
遍历顺序
1 22 23 24 25
2 18 19 20 21
3 14 15 16 17
4 10 11 12 13
5 6 7 8 9
遍历过程
0;0
进入 i+1
1;0
进入 i+1
2;0
进入 i+1
3;0
进入 i+1
4;0
进入 i+1
5;0
return i overflow
退出 i+1
进入 j+1
4;1
进入 i+1
5;1
return i overflow
退出 i+1
进入 j+1
4;2
进入 i+1
5;2
return i overflow
退出 i+1
进入 j+1
4;3
进入 i+1
5;3
return i overflow
退出 i+1
进入 j+1
4;4
进入 i+1
5;4
return i overflow
退出 i+1
进入 j+1
4;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
进入 j+1
3;1
进入 i+1
4;1
allready
退出 i+1
进入 j+1
3;2
进入 i+1
4;2
allready
退出 i+1
进入 j+1
3;3
进入 i+1
4;3
allready
退出 i+1
进入 j+1
3;4
进入 i+1
4;4
allready
退出 i+1
进入 j+1
3;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
进入 j+1
2;1
进入 i+1
3;1
allready
退出 i+1
进入 j+1
2;2
进入 i+1
3;2
allready
退出 i+1
进入 j+1
2;3
进入 i+1
3;3
allready
退出 i+1
进入 j+1
2;4
进入 i+1
3;4
allready
退出 i+1
进入 j+1
2;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
进入 j+1
1;1
进入 i+1
2;1
allready
退出 i+1
进入 j+1
1;2
进入 i+1
2;2
allready
退出 i+1
进入 j+1
1;3
进入 i+1
2;3
allready
退出 i+1
进入 j+1
1;4
进入 i+1
2;4
allready
退出 i+1
进入 j+1
1;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
进入 j+1
0;1
进入 i+1
1;1
allready
退出 i+1
进入 j+1
0;2
进入 i+1
1;2
allready
退出 i+1
进入 j+1
0;3
进入 i+1
1;3
allready
退出 i+1
进入 j+1
0;4
进入 i+1
1;4
allready
退出 i+1
进入 j+1
0;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
标签:11,13,遍历,数组,二维,12,进入,退出,overflow From: https://www.cnblogs.com/yanher/p/16815691.html