目录 1. 剑指 Offer 46. 把数字翻译成字符串2. 91. 解码方法 1. 剑指 Offer 46. 把数字翻译成字符串 剑指 Offer 46. 把数字翻译成字符串 class Solution { public: int translateNum(int num) { if(num < 10) return 1; int a = 1, b = 1, c = 0, y = num % 10; while(num) { num /= 10; y += (num % 10) * 10; if(y >= 10 && y <= 25) c = a + b; else c = a; b = a; a = c; y /= 10; } return a; } }; 2. 91. 解码方法 91. 解码方法 class Solution { public: int numDecodings(string s) { int len = s.size(); vector<int> dp(len + 1); dp[0] = 1; for(int i = 1; i <= len; ++i) { if(s[i - 1] != '0') dp[i] += dp[i - 1]; if(i > 1 && s[i - 2] != '0' && ((s[i- 2] - '0') * 10 + s[i - 1] - '0') <= 26) dp[i] += dp[i - 2]; } return dp[len]; } };