leetcode 91. 解码方法

leetcode 91. 解码方法_第1张图片

/*
    dp[i]表示长度为i的方案总数
    特殊情况s[i]=='0'
*/
class Solution {
public:
    int numDecodings(string s) {
        
        int n=s.size();
        if(s[0]=='0') return 0;
        vector dp(n+10);
        dp[0]=1;
        for(int i=1;i0 && s[i-1]!='0') dp[i]++;
            }
            else
            {
                if(k<=26 && k>0 && s[i-1]!='0') dp[i]=dp[i]+dp[i-2];
            }
        }
        return dp[n-1];
    }
};

 

你可能感兴趣的:(Leetcode,复习)