1,初始化第一个位置,为0和非0 2,判断当前位是非可以和前一位组合:在10-26 的可以组合
public:
/**
* 解码
* @param nums string字符串 数字串
* @return int整型
*/
int solve(string a) {
// write code here
int dp[100000];
if(a[0]!='0') dp[0]=1;
else dp[0]=0;
for(int i=1;i<a.size();i++){
int pre=a[i-1]-'0';
int now=a[i]-'0';
int sum=pre*10+now;
if(now!=0) dp[i]=dp[i-1];
if(sum>=10&&sum<=26){
if(i==1) dp[i]+=1;
else dp[i]+=dp[i-2];
}
}
return dp[a.size()-1];
}
};