解码方法
代码:
class Solution {
public:
/**
* @param s a string, encoded message
* @return an integer, the number of ways decoding
*/
int numDecodings(string& s) {
if (s.empty()) return 0;
int n = s.size();
vector
for (int i = 2; i < n + 2; ++i) {
if (s[i - 2] == '0') dp[i] = 0;
else dp[i] = dp[i - 1];
if (i >= 3 && (s[i - 3] == '1' || (s[i - 3] == '2' && s[i - 2] <= '6'))) {
dp[i] += dp[i -2];
}
}
return dp.back();
}
};