LeetCode-剑指 Offer 12. 矩阵中的路径
劍指 Offer 12. 矩陣中的路徑
思路一:DFS+回溯
DFS 解析:
遞歸參數(shù): 當前元素在矩陣 board 中的行列索引 i 和 j ,當前目標字符在 word 中的索引 k 。
終止條件:
返回 false : (1) 行或列索引越界 或 (2) 當前矩陣元素與目標字符不同 或 (3) 當前矩陣元素已訪問過 ( (3) 可合并至 (2) ) 。
返回 true : k = len(word) - 1 ,即字符串 word 已全部匹配。
遞推工作:
標記當前矩陣元素: 將 board[i][j] 修改為 空字符 ‘’ ,代表此元素已訪問過,防止之后搜索時重復(fù)訪問。
搜索下一單元格: 朝當前元素的 上、下、左、右 四個方向開啟下層遞歸,使用 或 連接 (代表只需找到一條可行路徑就直接返回,不再做后續(xù) DFS ),并記錄結(jié)果至 res 。
還原當前矩陣元素: 將 board[i][j] 元素還原至初始值,即 word[k] 。
返回值: 返回布爾量 res ,代表是否搜索到目標字符串。
作者:jyd
鏈接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/solution/mian-shi-ti-12-ju-zhen-zhong-de-lu-jing-shen-du-yo/
來源:力扣(LeetCode)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
總結(jié)
以上是生活随笔為你收集整理的LeetCode-剑指 Offer 12. 矩阵中的路径的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode-剑指 Offer 11
- 下一篇: LeetCode-剑指 Offer 06