Skip to content

Commit 6a4e607

Browse files
committed
Create 66. 把数字翻译成字符串.md
1 parent dea24b0 commit 6a4e607

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

66. 把数字翻译成字符串.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
***给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。***
2+
3+
```
4+
输入: 12258
5+
输出: 5
6+
解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"
7+
```
8+
9+
```
10+
class Solution:
11+
def translateNum(self, num: int) -> int:
12+
res = []
13+
cur_id = 0
14+
cur_res = []
15+
num = str(num)
16+
#构造递归
17+
def dfs(cur_id, cur_res):
18+
#终止条件
19+
if cur_id == len(num):
20+
res.append(cur_res)
21+
return
22+
#情况1
23+
dfs(cur_id+1, cur_res+[num[cur_id]])
24+
#情况2
25+
if 10<=int(num[cur_id:cur_id+2]) <=25:
26+
dfs(cur_id+2, cur_res+[num[cur_id:cur_id+2]])
27+
#调用递归
28+
dfs(cur_id, cur_res)
29+
return len(res)
30+
```

0 commit comments

Comments
 (0)