题解 | #把数字翻译成字符串#
把数字翻译成字符串
http://www.nowcoder.com/practice/046a55e6cd274cffb88fc32dba695668
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];
}
};