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];
    }
};