1 | 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 |
最暴力的回溯
1 | class Solution { |
官方题解
1 |
|
时间复杂度:O(3^m \times 4^n)其中 m 是输入中对应 3 个字母的数字个数(包括数字 2、3、4、5、6、8),n 是输入中对应 4 个字母的数字个数(包括数字 7、9),m+n 是输入数字的总个数。当输入包含 m 个对应 3 个字母的数字和 nn 个对应 44 个字母的数字时,不同的字母组合一共有 3^m \times 4^n种,需要遍历每一种字母组合。
空间复杂度:O(m+n),其中 m 是输入中对应 3 个字母的数字个数,n 是输入中对应 4 个字母的数字个数,m+n 是输入数字的总个数。除了返回值以外,空间复杂度主要取决于哈希表以及回溯过程中的递归调用层数,哈希表的大小与输入无关,可以看成常数,递归调用层数最大为 m+n。
1 | 作者:LeetCode-Solution |