class Solution {
public:
/**
* 解码
* @param nums string字符串 数字串
* @return int整型
*/
int solve(string nums) {
// write code here
int n = nums.length();
vector<int>dp(n+1,0);
//dp[i] 表示从1-i总共有多少译码结果
if(nums[0] != '0') dp[1] = 1;
for(int i = 2; i <= n; i++){
string s = nums.substr(i-2,2);
if(s>="10"&&s<="26"){
if(i-2==0) dp[i] += 1;
else dp[i] += dp[i-2];
}
if(nums[i-1]!='0')
dp[i] += dp[i-1];
}
return dp[n];
}
};

京公网安备 11010502036488号