原题目:https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/
思路:
动态规划,每一步有:dp[i] = dp[i+1] ,如果num[i,i+1] 在【10,25】,那么dp[i] 还要在加上dp[i+2]。
代码:
class Solution {
public:
int translateNum(int num) {
if(num==0) return 1;
int f1=1,f2=1,f;
int m1=0,m2=-1;
while(num){
m1 = num%10;
f = f1;
if(m1!=0&&m2!=-1&&m1*10+m2<26){
f += f2;
}
num /= 10;
m2 = m1;
f2 = f1;
f1 = f;
}
return f;
}
};