leetcode 56: Word Search
来源:互联网 发布:deepin 知乎 编辑:程序博客网 时间:2024/04/24 21:26
Word SearchApr 18 '12
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 =
[ ["ABCE"], ["SFCS"], ["ADEE"]]word =
"ABCCED"
, -> returns true
,word =
"SEE"
, -> returns true
,word =
"ABCB"
, -> returns false
.[思路]
这题就是DFS的变种, 用visited保存访问过的位置.
[CODE]
public class Solution { public boolean exist(char[][] board, String word) { //init check if(board==null || board.length==0 || board[0]==null || board[0].length==0) return false; boolean[][] visited = new boolean[board.length][board[0].length]; for(int i=0; i<board.length; i++) { for(int j=0; j<board[0].length; j++) { if( search(board, visited, i, j, word) )return true; } } return false; } private boolean search(char[][] board, boolean[][] visited, int x, int y, String word) { if(word.length() == 0) return true; if(x<0 || x>=board.length || y<0 || y>=board[0].length) { return false; } if(visited[x][y] || board[x][y] != word.charAt(0)) return false; visited[x][y] = true; boolean b = search(board, visited, x-1, y ,word.substring(1) ) || search(board, visited, x+1, y ,word.substring(1) ) || search(board, visited, x, y-1 ,word.substring(1) ) || search(board, visited, x, y+1 ,word.substring(1) ); if(b) return true; else { visited[x][y] = false; return false; } }}
- leetcode 56: Word Search
- LeetCode: Word Search
- [Leetcode] Word Search
- LeetCode : Word Search
- Leetcode: Word Search
- [LeetCode] Word Search
- Leetcode 79 Word Search
- [leetcode ] word search
- [Leetcode] Word Search
- [LeetCode]Word Search
- Leetcode Word Search
- [leetcode]word search
- [leetcode] Word Search
- LeetCode-Word Search
- [LeetCode] Word Search
- LeetCode - Word Search
- leetcode word search
- LeetCode:Word Search
- IE10横空出世,一统江湖
- 经典背包问题 01背包+完全背包+多重背包
- 在Android中安装运行python
- ognl调用静态方法用法以及注意事项
- 1008 最短路
- leetcode 56: Word Search
- 从零开始学习VC++6.0之并口控制(第四课 直流电机启动)
- jQuery UI使用
- NYOJ 49 开心的小明
- 防止乱码情况
- 1009 最短路
- mysql性能及内存优化
- 2012 腾讯校招Web前端笔试的一道题,很值得怀念。。。
- MFC的CFileDialog和几个类之间的关系