BFS, 顾名思义,广度优先遍历,与DFS对应。
最大的一个区别是,在解题套路里,DFS 多数使用 List<List<Object>> 的方式来保存结果集,并且最后删除回溯的记录以避免重复计算,BFS使用Queue保存经过的路径,好处是无需像DFS一般保存结果集,记录路径即可,也就是说,把所有可能的结果都走一遍,选择一个可能的方向,再来一次。所以DFS 常用递归解决,BFS 不是