等价于矩阵搜索问题,典型的搜索 & 回溯问题。可使用如下方式解决:
1.深度优先搜索(DFS) + 剪枝 解决
1.1深度优先搜索
可以理解为暴力法遍历矩阵中所有字符串可能性。DFS 通过递归,先朝一个方向搜到底,再回溯至上个节点,沿另一个方向搜索,以此类推。
1.2剪枝
在搜索中,遇到 这条路不可能和目标字符串匹配成功
的情况(例如:此矩阵元素和目标字符不同、此元素已被访问),则应立即返回,称之为 可行性剪枝
。
2. 广度优先遍历 BFS
2.1 BFS/DFS : 两者目标都是遍历整个矩阵,不同点在于搜索顺序不同。DFS 是朝一个方向走到底,再回退,以此类推;BFS 则是按照“平推”的方式向前搜索。
2.2 BFS 实现: 通常利用队列实现广度优先遍历。