【力扣 中等 C】91. 解码方法

目录

题目

解法一:一维dp


题目

待添加

解法一:一维dp

int decode(const char* str)
{
    int len = strlen(str);
    int dp[3];
    dp[1] = 1;

    for (int i = len - 1; i >= 0; i--)
    {
        if (str[i] == '0')
            dp[2] = 0;
        else
        {
            dp[2] = dp[1];
            if (i + 1 < len && (str[i] - '0') * 10 + (str[i + 1] - '0') <= 26)
                dp[2] += dp[0];
        }
        dp[0] = dp[1];
        dp[1] = dp[2];
    }
    return dp[2];
}

int numDecodings(char* s)
{
    return decode(s);
}

你可能感兴趣的:(力扣,C,c语言,leetcode,数据结构,算法,开发语言)