【題解】LeetCode 91. Decode Ways

【題目敘述】https://leetcode.com/problems/decode-ways/

class Solution {
public:
    int numDecodings(string s) {
        int dp[105] = {};
        s = ' '+s;
        dp[0] = 1;
        for (int i = 1; i < s.length(); i++){
            if (s[i] == '0'){
                if (s[i-1] != '1' && s[i-1] != '2') return 0;
                dp[i] = dp[i-2];
            }
            else if (s[i-1] == '1'){
                dp[i] = dp[i-1]+dp[i-2];
            }
            else if (s[i-1] == '2' && s[i] <= '6'){
                dp[i] = dp[i-1]+dp[i-2];
            }
            else dp[i] = dp[i-1];
        }
        return dp[s.length()-1];
    }
};
分享本文 Share with friends