classSolution{List<List<Integer>> result =newLinkedList<>();List<Integer> path =newArrayList<>();int sum =0;publicList<List<Integer>>combinationSum3(int k,int n){backTracking(k, n, sum,1);return result;}publicvoidbackTracking(int k,int n,int sum,int startId){if(path.size()== k){if(sum == n){
result.add(newArrayList<>(path));return;}elsereturn;}for(int i = startId; i <=9; i++){
sum += i;
path.add(i);backTracking(k, n, sum, i +1);
sum -= i;
path.removeLast();}}}
力扣 17.电话号码的字母组合
classSolution{List<String> result =newArrayList<>();StringBuilder temp =newStringBuilder();publicList<String>letterCombinations(String digits){if(digits.equals(""))return result;String[] map ={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};backTracking(digits, map,0);return result;}publicvoidbackTracking(String digits,String[] map,int id){if(id == digits.length()){
result.add(temp.toString());return;}String str = map[digits.charAt(id)-'0'];for(int i =0; i < str.length(); i++){
temp.append(str.charAt(i));backTracking(digits, map, id +1);
temp.deleteCharAt(temp.length()-1);}}}
返回该题
力扣 LeetCode