剣指Offer(Pythonの多種の構想の実現):数字を文字列に翻訳する


面接46題:
数字を文字列に訳す
标题:1つの数字を与えて、私达は以下の规则によってそれを文字列に訳します:0は“a”に訳して、1は“b”に訳して、......,11は“1”に訳して、......,25は“z”に訳します.1つの数字に複数の翻訳がある可能性があります.例えば、12258には5つの異なる翻訳があり、それぞれ「bccfi」、「bwfi」、「bczi」、「mcfi」、「mzi」である.プログラミングして1つの関数を実現して、1つの数字がどれだけ異なる翻訳方法があるかを計算してください.
問題を解く考え方1:
class Solution:
    def getTranslationCount(self, number):
        """
        :type number: int
        :rtype: int
        """
        if number<0:
            return 0
        numberStr=str(number)

        return self.getTranslateCount(numberStr)
    
    def getTranslateCount(self,numberStr):
        length=len(numberStr)
        counts=[0]*length
        #count=0
        for i in range(length-1,-1,-1):
            count=0
            if i =10 and converted<=25:
                    if i

問題を解く構想2:
def numDecodings(self, s: str) -> int:
    # w tells the number of ways
    # v tells the previous number of ways
    # d is the current digit
    # p is the previous digit
    v, w, p = 0, int(s>''), ''
    for d in s:
        v, w, p = w, int(d>'0')*w + (9