题目:

思路:

一般遇到路径搜索问题,基本上都是 DFS 深度优先遍历和回溯 方向
这题可以建立一个递归的模型

  1. 递归出口是 递归的深度 等于 单词 的长度
  2. 递归二维数组的时候需要判断边界条件和是否已经遍历过该位置,或者是该位置的字符不等于word对应遍历深度的字符
  3. 以顺时针的方向去遍历相邻的位置
  4. 只要存在一种方向遍历返回了true,就说明存在一条路径,那么就可以直接返回true
  5. 要注意标记遍历过的位置

Java语言题解:

class Solution {boolean[][] flag;char[][] board_0;int row;int col;public boolean exist(char[][] board, String word) {row = board.length;col = board[0].length;board_0 = board;flag = new boolean[row][col];for(int i = 0;i<row;i++){for(int j = 0;j<col;j++){if(dfs(i,j,word,0)){return true;}}}return false;}public boolean dfs(int i,int j,String word,int dx){if(dx == word.length()) return true;if(!checkBoard(i,j) || flag[i][j] || word.charAt(dx)!=board_0[i][j]) return false;flag[i][j] = true;boolean f0 = dfs(i-1,j,word,dx+1);boolean f1 = dfs(i,j+1,word,dx+1);boolean f2 = dfs(i+1,j,word,dx+1);boolean f3 = dfs(i,j-1,word,dx+1);if(f0 || f1 || f2 || f3) return true;flag[i][j] = false;return false;}public boolean checkBoard(int i,int j){if(i>=row||i<0) return false;if(j>=col||j<0) return false;return true;}}

一些注意事项

//获取二维数组的行高度
int row = board.length;
//获取二维数组的列高度;
int col = board[0].length;

LeetCode 单词搜索相关推荐

  1. LeetCode 212. 单词搜索 II(Trie树+DFS)

    1. 题目 给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻&qu ...

  2. Leetcode 79.单词搜索

    Time: 20190901 Type: Medium 题目描述 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻&q ...

  3. LeetCode之单词搜索(回溯法求解)

    题目 给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false . 单词必须按照字母顺序,通过相邻的单元格内 ...

  4. LeetCode 79单词搜索80删除排序数组中的重复项Ⅱ81.搜索旋转排序数组Ⅱ

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...

  5. leetcode: 212. 单词搜索II

    212. 单词搜索II 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/word-search-ii 给定一个 m x n 二维字符网格 board和 ...

  6. Leetcode系列-字符串-单词搜索II

    单词搜索II理解与分析 题目大意(原题参见leetcode官网) 给定一个单词列表和二维字符网格,找到网格中所有存在于单词列表中的单词并返回.单词与网格中都只包含小写字母. 解题思路 方法一(效率低, ...

  7. Leetcode 79. 单词搜索

    Leetcode 79. 单词搜索 1.问题分析 2.问题解决 3.总结 1.问题分析 题目链接:https://leetcode-cn.com/problems/word-search/   本质上 ...

  8. LeetCode 79 单词搜索

    LeetCode 79 单词搜索 题目链接 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水 ...

  9. LeetCode算法题13:DFS/BFS - 单词搜索

    文章目录 单词搜索 DFS : 小小的优化 总结 单词搜索 题目链接:https://leetcode-cn.com/problems/word-search/ 题目描述: 给定一个 m x n 二维 ...

最新文章

  1. [深入理解文件系统之十二] ext3文件系统的挂载选项和journal
  2. 设置centos7语言显示环境
  3. python画图-Python基础-画图:matplotlib
  4. 2016年,新的开始
  5. php求数组的长度的函数,php如何计算数组长度?
  6. MySql 数据库基本设计规范
  7. php如何禁用浏览器的缓存,php如何禁止浏览器使用缓存页面
  8. html select选择事件_用 Java 拿下 HTML 分分钟写个小爬虫
  9. string 是值类型,还是引用类型(.net)
  10. CXF 生成Web Service Client(将WSDl 转化成 Java代码)
  11. Day 4 列表,元组,range
  12. Bootstrap 中 表单和图片(二)
  13. 网络不稳定的原因_原来网络不稳定,也有可能是这个原因造成的!
  14. c语言累加和校验_累加和校验算法(CheckSum算法)
  15. 《计算机组成原理》唐朔飞第三版知识点总结
  16. 使用nssm注册系统服务的详细方法
  17. 国内主流Hybrid app工具平台推荐
  18. 南京大学LANDS组
  19. 十一届恩智浦智能车竞赛 信标 --- 首安666队
  20. 临沂一中高考2021成绩查询,2021年临沂高考状元名单公布,临沂高考状元学校资料及最高分...

热门文章

  1. Python类型转换,Python数据类型转换函数大全
  2. 中国多媒体与网络教学学报杂志社中国多媒体与网络教学学报编辑部2022年第9期目录
  3. 第四章 Isomap
  4. 小明酱的暑期求职纪【version 2.0】
  5. 从ActiveMQ原理到实例
  6. 这些成语原来是这样子的
  7. mac电脑上localhost找不到
  8. Java实现简单图书馆管理系统
  9. js的replace()方法
  10. ip addr 和 ifconfig