class Solution: @staticmethod def numDecodings(s: str) -> int: length = len(s) ans = [0 for i in range(length+1)] ans[0] = 0 ans[1] = 1 for i in range(1, length+1): print(i) if s[i - 1] + s[i] == '10' or s[i - 1] + s[i] == '11' or s[i - 1] + s[i] == '12' or s[i - 1] + s[ i] == '13' or s[i - 1] + s[i] == '14' or s[i - 1] + s[i] == '15' or s[i - 1] + s[i] == '16' or s[ i - 1] + s[i] == '17' or s[i - 1] + s[i] == '18' or s[i - 1] + s[i] == '19' or s[i - 1] + s[ i] == '20' or s[i - 1] + s[i] == '21' or s[i - 1] + s[i] == '22' or s[i - 1] + s[i] == '23' or s[ i - 1] + s[i] == '24' or s[i - 1] + s[i] == '25' or s[i - 1] + s[i] == '26': if s[i] == '0': ans[i] = ans[i - 1] + 1 else: ans[i] = ans[i - 1] + 2 else: ans[i] = ans[i - 1] + 1 print(ans) return ans[length-1] Solution.numDecodings("226")