令dp[i]为从0到i的总方法数,那么很容易得出dp[i]=dp[i-1]+dp[i-2], 即当我们以i为结尾的时候,可以将i单独作为一个字母decode (dp[i-1]),同时也可以将i和i-1作为两个字母组合进行decode. 关键在于出现0的情况,当i-1为0的时候,我们不能将i和i-1进行组合,因为0不能作为前缀进行decode,此时dp[i]=dp[i-1],当i为0的时候,我们不能不能单独decode i,此时dp[i]=dp[i-2] 另外由于我们只需要保存前两步的状态,因此可…