LeetCode-python 79.单词搜索

题目链接
难度:中等       类型: 数组、字符串、深度优先搜索


给定一个二维网格和一个单词,找出该单词是否存在于网格中。

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

示例

board =
[
['A','B','C','E'],
['S','F','C','S'],
['A','D','E','E']
]
给定 word = "ABCCED", 返回 true.
给定 word = "SEE", 返回 true.
给定 word = "ABCB", 返回 false.

解题思路


深度优先搜索
注意:搜索过的地方需要有标记,以免重复搜索

代码实现

class Solution(object):
    def exist(self, board, word):
        """
        :type board: List[List[str]]
        :type word: str
        :rtype: bool
        """
        n, m = len(board), len(board[0])
        
        def dfs(board, x, y, word):
            if not word:
                return True
            if 0<=x

本文链接:https://www.jianshu.com/p/a3467aaf5633

你可能感兴趣的:(LeetCode-python 79.单词搜索)