【Leetcode】79. 单词搜索

该博客探讨了LeetCode中的79号问题——单词搜索。问题要求在给定的二维字符网格中判断是否能找到指定单词。博主分析了问题并提出了使用回溯法的解决方案,解释了需要遍历网格,用一个二维数组记录已访问单元格,以及如何通过函数check(i,j,k)检查从特定位置开始能否找到单词的后缀。还提到了使用深度优先搜索(DFS)也是可行的方法,并给出了JavaScript代码实现。" 128357232,16680541,前端布局技巧:Flex与Rem详解,"['前端开发', 'CSS', 'HTML']
摘要由CSDN通过智能技术生成

 题目链接:单词搜索

题目描述:

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

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

题目分析:判断单词是否存在于网格中,要求单词的字母在网格中是相邻且连续的。

就需要对网格中的每一个字符和单词中的每一个字符进行一一比对:

当一个字符满足条件时,就将网格中上下左右相邻的字符和单词中的下一个字符进行比较;

当一个字符不满足条件时,就回退到上一步,更新选择。即采用回溯方法。

思路:

1)单词的首字母可能在网格的任意位置出现,所以需要对网格进行整体遍历,直到找到符合条件的单词。

2)由于单元格的相邻四个单元格会出现重复遍历,导致单词元素误判现象,需要一个二维数组作为标记,访问过的单元格不能再被访问。

3)再使用一个函数check(i,j,k),表示以board[i][j]为起点,能否在网格中找到和word中以word[k]开始的后缀字符串相同的序列

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值