博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode-79-Word Search]
阅读量:6673 次
发布时间:2019-06-25

本文共 1228 字,大约阅读时间需要 4 分钟。

Given a 2D board and a word, find if the word exists in the grid.

The word can be constructed from letters of sequentially adjacent cell,
where "adjacent" cells are those horizontally or vertically neighboring.
The same letter cell may not be used more than once.
For example,
Given board =
[
['A','B','C','E'],
['S','F','C','S'],
['A','D','E','E']
]
word = "ABCCED", -> returns true,
word = "SEE", -> returns true,
word = "ABCB", -> returns false.

思路:

深度优先遍历。

bool dfs(vector< vector< char> >& board, string word,int row ,int col ,int start,int m,int n,int length){    char curChar = board[row][col];    bool res = false;    if(curChar != word[start]) return false;    if(start == length - 1) return true;    board[row][col] = '*';    if(row>0) res = dfs(board,word,row-1,col,start+1,m,n,length);    if(!res && row < m-1) res = dfs(board,word,row+1,col,start+1,m,n,length);    if(!res && col>0) res = dfs(board,word,row,col-1,start+1,m,n,length);    if(!res && col
>& board, string word){ int m = board.size() , n = board[0].size(), length = word.size(); if( m && n && length) { for(int i = 0;i < m;i++) { for(int j =0;j

 

转载于:https://www.cnblogs.com/hellowooorld/p/6751970.html

你可能感兴趣的文章
线程 Timer TimerTask 计时器 定时任务 MD
查看>>
[js高手之路]原型式继承与寄生式继承
查看>>
ThreadPoolExecutor使用介绍
查看>>
JavaWeb学习笔记——XML和SAX解析区别
查看>>
【274】Python 相关问题
查看>>
js2word/html2word的简单实现
查看>>
jQuery.extend和jQuery.fn.extend的区别?
查看>>
职业发展
查看>>
Linux下环境变量设置
查看>>
phonegap 安装和使用eclipse
查看>>
ASP.NET MVC使用动态产生meta
查看>>
C语言基础(9)-字符串格式化输入和输出
查看>>
基于 HTML5 的 WebGL 3D 智能楼宇监控系统
查看>>
数据库事务隔离级别
查看>>
JSONP跨域以及之前的历史
查看>>
Qtum量子链与亚马逊AWS中国云服务达成合作
查看>>
Java并发知识点快速复习手册(下)
查看>>
div自适应填充剩余宽度的方法
查看>>
165. Compare Version Numbers
查看>>
CentOS7搭建LNMP--编译安装
查看>>