本文最后更新于:2020年11月16日 下午
给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成”a”,1翻译成”b”,$\cdots$,11翻译成’l’,$\cdots$,25翻译成”z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。
示例1:
输入:12258
输出:5
解释:12258有5种不同的翻译,分别是"
提示:
- 0 <= num < 2^31
class Solution:
def translateNum(self, num):
方法一:字符串遍历
- 为方便获取
class Solution:
def translateNum(self, num):
s = str(num)
a = b = 1
for i in range(2, len(s) + 1):
tmp = s[i-2:i]
c = a + b if "10" <= tmp <= "25" else a
b = a
a = c
return a
class Solution:
def translateNum(self, num):
a = b = 1
y = num % 10
while num > 9:
num // 10
x = num % 10
temp = 10 * x + y
c = a + b if 10 <= temp <= 25 else a
a, b = c, a
y = x
return a
123456 7 8
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!