#include <vector>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 解码
* @param nums string字符串 数字串
* @return int整型
*/
int solve(string nums) {
// write code here
int n=nums.size();
n--;
if(n==0&&nums[0]=='0')return 0;
if(n==0&&nums[0]!='0')return 1;
vector<int>dp(n,0);
dp[0]=1;
for(int i=1;i<=n;i++)
{
if(nums[i]!='0')
{
dp[i]=dp[i-1];
}
int res=(nums[i]-'0')+(nums[i-1]-'0')*10;
if(res>=10&&res<=26)
{
if(i==1)dp[i]+=1;
else{
dp[i]+=dp[i-2];
}
}
}
return dp[n];
}
};

京公网安备 11010502036488号