using namespace std;
class Solution {
public:
/**
* 解码
* @param nums string字符串 数字串
* @return int整型
*/
int solve(string nums) {
// write code here
vector<int> dp(nums.size(),0);
if(nums.size() == 0 || nums[0] == '0'){return 0;}
dp[0] = 1;
if((nums[0] == '1') || (nums[0] == '2' && int(nums[1] - '0')<27)){
if(nums[1] != '0'){
dp[1] = 2;
}else{
dp[1] = 1;
}
}
else{
dp[1] = 1;
}
for(int i = 2; i < nums.size(); i++){
if (nums[i] == '0'){
if((nums[i-1]== '1' )|| (nums[i-1] == '2')){
dp[i] = dp[i-2] ;
}
else{
return 0;
}
}
else if ((nums[i-1]== '1')|| (nums[i-1] == '2'&& int(nums[i] - '0')<7)){
dp[i] = dp[i-1] + dp[i-2];
}
else{
dp[i] = dp[i-1] ;
}
cout<<"dp[i]"<<" "<<dp[i]<<endl;
cout<<"nums"<<" "<<nums[i] - '0'<<endl;
}
return dp[nums.size()-1];
}
};