描述
有一种将字母编码成数字的方式:‘a’->1, ‘b->2’, … , ‘z->26’。
我们把一个字符串编码成一串数字,再考虑逆向编译成字符串。
由于没有分隔符,数字编码成字母可能有多种编译结果,例如 11 既可以看做是两个 ‘a’ 也可以看做是一个 ‘k’ 。但 10 只可能是 ‘j’ ,因为 0 不能编译成任何结果。
现在给一串数字,返回有多少种可能的译码结果
数据范围:字符串长度满足 0 < n \le 900<n≤90
进阶:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)
示例1
输入:
“12”
复制
返回值:
2
复制
说明:
2种可能的译码结果(”ab” 或”l”)
示例2
输入:
“31717126241541717”
复制
返回值:
192
复制
说明:
192种可能的译码结果
解题思路
递归会超时,使用动态规划