Java版单词搜索
Posted z2529827226
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java版单词搜索相关的知识,希望对你有一定的参考价值。
package bfs; class Solution private boolean used[][]; private int dir[][]=new int[][] -1,0,0,-1,1,0,0,1; public boolean isCheckMove(String[] map,int x,int y) return x>=0&&x<map.length&&y>=0&&y<map[x].length(); public boolean bfs(String[] map,String word,int Index,int startX,int startY) if(word.charAt(Index)==map[startX].charAt(startY)) if(Index==word.length()-1) return word.charAt(Index)==map[startX].charAt(startY); used[startX][startY]=true; for(int i=0;i<4;++i) int newX=startX+dir[i][0]; int newY=startY+dir[i][1]; if(isCheckMove(map,newX,newY)&&!used[newX][newY]&&bfs(map,word,Index+1,newX,newY)) return true; used[startX][startY]=false; return false; public boolean num(String[] map,String word) used=new boolean[map.length][map[0].length()]; for(int i=0;i<map.length;++i) for(int j=0;j<map[i].length();++j) used[i][j]=false; for(int i=0;i<map.length;++i) for(int j=0;j<map[i].length();++j) if(word.charAt(0)==map[i].charAt(j)&&bfs(map,word,0,i,j)) return true; return false; public class Test public static void main(String[] args) String word="bfskhj"; String map[]= "abc","dfe","fsg","hkj"; Solution space=new Solution(); if(space.num(map, word)) System.out.println("true"); else System.out.println("false");
以上是关于Java版单词搜索的主要内容,如果未能解决你的问题,请参考以下文章