题目链接:https://leetcode.cn/problems/letter-combinations-of-a-phone-number/
方法一 回溯
1 方法思想
2 代码实现
class Solution {
String[] nums = new String[]{"","","abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
List<String> result = new ArrayList<>();
StringBuffer str = new StringBuffer();
public List<String> letterCombinations(String digits) {
if(digits.length() == 0) return result;
backTracking(digits, 0);
return result;
}
public void backTracking(String digits, int start){
if (start == digits.length()) {
result.add(new String(str));
return;
}
int numsIndex = digits.charAt(start) - '0';
for (int j = 0; j < nums[numsIndex].length(); j++) {
str.append(nums[numsIndex].charAt(j));
backTracking(digits, start + 1);
str.deleteCharAt(str.length() - 1);
}
}
}
3 复杂度分析
时间复杂度:
空间复杂度: