一、题目
二、思路
1、采用dfs
2、传入加判断条件,比如不能超过25,传两个数时第一个数不能为0
三、代码
class Solution {
public:
int Count;
int translateNum(int num) {
Count=0;
string str=to_string(num);
int len=str.length();
dfs(str,len,0);
return Count;
}
void dfs(string &str,int &len,int start){
if(start>=len){
Count++;
return;
}
//取第一位
dfs(str,len,start+1);
//第二位
if(start<len-1){
if(str[start]=='1'){
dfs(str,len,start+2);
}
else if(str[start]=='2'){
if(str[start+1]>='0' && str[start+1]<='5'){
dfs(str,len,start+2);
}
}
}
}
};