class Solution {
public:
bool exist(vector<vector<char>>& board, string word) {
int key=0;
int row=board.size();
int col=board[0].size();
int wSize=word.size();
function<void(int,int,int)> dfs=[&](int m,int n,int index){
if(key==1){return ;}
if(board[m][n]==word[index]){
char tmp=board[m][n];
board[m][n]='*';
if(index==(word.size()-1)){
key=1;
}else{
if(m-1>=0){dfs(m-1,n,index+1);}
if(m+1<=row-1){dfs(m+1,n,index+1);}
if(n-1>=0){dfs(m,n-1,index+1);}
if(n+1<=col-1){dfs(m,n+1,index+1);}
}
board[m][n]=tmp;
}
};
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
if(board[i][j]==word[0]){
dfs(i,j,0);
if(key==1) return true;
}
}
}
return false;
}
};
对于字符串中的某个字符直接用word[index]表示。
在 C++ 中,std::to_string
函数用于将各种基本类型转换为对应的 std::string
类型。其具体行为取决于参数的类型,如下所示:
- 整数类型(
int
,long
,long long
,unsigned int
, 等等)将被转换为其十进制表示的字符串。 - 浮点数类型(
float
,double
,long double
)将被转换为其小数形式的字符串,通常包括小数点和指数部分。 - 字符类型(
char
,wchar_t
,char16_t
,char32_t
)将被转换为长度为 1 的字符串,包含字符本身。 - 布尔类型(
bool
)将被转换为"true"
或"false"
的字符串。