Typescript-Algorithms
    Preparing search index...

    Variable word_searchConst

    word_search: (board: string[][], word: string) => boolean = exist

    79.单词搜索

    给定一个 m x n 二维字符网格 board 和一个字符串 word 。如果 word 存在于网格中,返回 true ;否则,返回 false

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


    ![示例1] (../images/79.单词搜索1.jpg) 输入:

    board = [
    ["A","B","C","E"],
    ["S","F","C","S"],
    ["A","D","E","E"]
    ]

    word = "ABCCED"

    输出: true


    示例2 输入:

    board = [
    ["A","B","C","E"],
    ["S","F","C","S"],
    ["A","D","E","E"]
    ]

    word = "SEE"

    输出: true


    示例3

    输入:

    board = [
    ["A","B","C","E"],
    ["S","F","C","S"],
    ["A","D","E","E"]
    ]

    word = "ABCB"

    输出: false


    • m == board.length
    • n = board[i].length
    • 1 <= m, n <= 6
    • 1 <= word.length <= 15
    • boardword 仅由大小写英文字母组成

    Type declaration

      • (board: string[][], word: string): boolean
      • Parameters

        • board: string[][]
        • word: string

        Returns boolean

    关键点1: 四个方向是回溯的横向遍历,单词位置是回溯的纵向遍历 关键点2:回溯撤销时机应该是四个方向访问后,有了结果后回到第一层时,需要撤回出发点,以便让其他出发点开始搜索能够来到当前被撤回的点进行单词位置匹配。 关键点3: 四个方向只要有一个为true,直接返回,不需要继续尝试其他方向了。