55561bc4创建于 2022年12月27日历史提交
public class Solution {
    public int NumDecodings(string s) {
        List<int> dp = Enumerable.Repeat(1, s.Length + 1).ToList();
        
        for(var i = s.Length - 1; i >= 0; i--) {
            if (s[i] == '0') 
                dp[i] = 0;
            else 
                dp[i] = dp[i + 1];

            if (i + 1 < s.Length && (
                s[i] == '1' || 
                (s[i] == '2' && "0123456".Contains(s[i + 1]))
            ))
                dp[i] += dp[i + 2];
        }
        
        return dp[0];
    }
}