题解 | #把数字翻译成字符串#

把数字翻译成字符串

https://www.nowcoder.com/practice/046a55e6cd274cffb88fc32dba695668

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 解码
# @param nums string字符串 数字串
# @return int整型
#
class Solution:
    def solve(self , nums: str) -> int:
        # write code 
        n = len(nums)
        dp = [0]*(n+1)
        # 空字符串有一种解码方式
        dp[0] = 1
        for i in range(1,n+1):
            # 解码倒数第一位,要求不是0
            if nums[i-1] != '0':
                dp[i] += dp[i-1]
            # 解码倒数两位,要求首先字符串长度大于等于2,且倒数第二位不是0,且最后两位的数符合条件
            if i-2>=0 and nums[i-2]!='0' and 1<=int(nums[i-2])*10 + int(nums[i-1])<=26 :
                dp[i] += dp[i-2]
        return dp[n]

全部评论

相关推荐

VirtualBoo...:都去逗他了?
点赞 评论 收藏
分享
05-09 13:22
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务