class Solution {
public:
int f[110];
bool check(char a,char b)
{
if(a>='1'&&a<='9'&&b>='0'&&b<='9')
{
int c=a-'0';
c=c*10+(b-'0');
if(c>=1&&c<=26) return true;
}
return false;
}
int numDecodings(string s) {
int n=s.size();//n一定在更改s之前赋值
s=' '+s;
f[0]=1;
for(int i=1;i<=n;i++)
{
if(s[i]>='1'&&s[i]<='9')
f[i]=f[i-1];
if(i>=2&&check(s[i-1],s[i]))
f[i]+=f[i-2];
}
return f[n];
}
};
LeetCode 91. 解码方法
发布时间 2023-04-12 16:35:11作者: 穿过雾的阴霾