# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 解码 # @param nums string字符串 数字串 # @return int整型 # class Solution: def solve(self , nums: str) -> int: # write code here if not nums: return 0 dp = [0] * (len(nums) + 1) dp[0] = 1 for i in range(len(nums)): if nums[i] != '0': dp[i+1] += dp[i] if i > 0 and nums[i-1] != '0' and 10 <= int(nums[i-1:i+1]) <= 26: dp[i+1] += dp[i-1] return dp[-1]
分两种情况讨论,一种是单个数字 一种是可能存在的两个数字的情况