LeetCode 91. 解码方法
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];
}
};
有帮助的话可以点个赞,我会很开心的~