本文共 719 字,大约阅读时间需要 2 分钟。
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如
矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。1、首先遍历第一个字母,比如对于bcced来说,先找到第一个b,然后接下来再递归找c2、若bcced中的字母全部可以找到,则成功3、若某个字母不匹配,则返回false即可4、注意在遍历的时候需要将已经遍历过的位置做标记,我是直接将遍历过的字符置为1
public class Solution { public boolean hasPath(char[] matrix, int rows, int cols, char[] str) { char [][] matrix1= new char[rows][cols]; int k=0; for(int i=0;irows-1||y<0||y>cols-1||matrix[x][y]!=str[0]) return false; else if((matrix[x][y]==str[0])&&(str.length==1)) return true; else { char [] str1=new char[str.length-1]; for(int i=1,j=0;i
转载地址:http://sgcqb.baihongyu.com/