91. 解码方法
【题目】:
【代码】:
当计算到第 i 个数的时候,
一位数字解码:
- 当前数字为0,则需要前一个数字为1或2才能解码,这种情况算在两位数的解码方式里面
- 当前数字不为0,则当前数字可以解码
- 如果一位数可以解码,则解码方式与第 i-1 位相同,dp[i]=dp[i-1]
两位数字解码:
- 前一个数为1,后一个数任意,形如10,11,12,...,19
- 前一个数为2,后一个数小于等于6,形如20,21,22,...,26
- 其余情况的两位数均不可解码
- 如果两位数可解码,则解码方式比第 i-1 位新增,dp[i]=dp[i]+dp[i-2]
红色部分为新增的解码方式。
效果: