int numDecodings(char * s){
int len=strlen(s);
int dp[len];
for(int a=0;a<len;a++){
dp[a]=0;
}
dp[0]=1;
if(s[0]=='0'){
return 0;
}
if(len==1){
return 1;
}
if(s[1]!='0'&&((s[0]=='1'&&s[1]<='9')||(s[0]=='2'&&s[1]<='6'))){
dp[1]=2;
}
else if(s[1]=='0'&&s[0]>'2'){
dp[1]=0;
}
else{
dp[1]=1;
}
for(int a=2;a<len;a++){
if(s[a]=='0'&&s[a-1]=='0'){
return 0;
}
if(s[a]=='0'&&s[a-1]<='2'){
dp[a]=dp[a-2];
}
else{
if(s[a]!='0'&&((s[a-1]=='1'&&s[a]<='9')||(s[a-1]=='2'&&s[a]<='6'))){
dp[a]=dp[a-1]+dp[a-2];
}
else if(s[a]!='0'){
dp[a]=dp[a-1];
}
}
}
return dp[len-1];
}
力扣-------解码方法
最新推荐文章于 2023-02-25 16:31:05 发布