91. 解码方法
题目链接
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/decode-ways/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题目描述
题目分析
动态规划
dp[i]表示前i个字符串解码方法的个数。
class Solution {
public:
int numDecodings(string s) {
int n = s.size();
s = ' ' + s;
vector<int> dp(n + 1, 0);
dp[0] = 1;
for(int i = 1; i < n + 1; i++){
int a = s[i] - '0';
if(a != 0){
dp[i] += dp[i - 1];
}
int b = (s[i - 1] - '0') * 10 + a;
if(b >= 10 && b <= 26){
dp[i] += dp[i - 2];
}
}
return dp[n];
}
};