給定乙個僅包含數字2-9
的字串,返回所有它能表示的字母組合。
給出數字到字母的對映如下(與**按鍵相同)。注意 1 不對應任何字母。
輸入:"23"
輸出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
1、首先根據題目描述可知是乙個排序組合根據倒推 ,從後面往前組合
用list2存放上一次組合資料,list存放本次組合資料
輸入為23 2對應 「abc」 3對應「def」
第一次 list= list2 = null
第二次 list2 = ,list為新組合的list
a和list2組合放入list
b和list2組合放入list
c和list2組合放入list
list,b,c
}新的list
若輸入為 234
第一次 list = list2 = null
第二次 list2 = list為新組合的list
d和list2組合放入 list
e和list2組合放入 list
f和list2組合放入 list
list = ,e,f
}list =
第三次 list2 = list為新組合的list
a和list2組合放入 list
b和list2組合放入 list
c和list2組合放入 list
list = ,b,c
}class solution
hashmaphashmap = new hashmap();
hashmap.put(2, "abc");
hashmap.put(3, "def");
hashmap.put(4, "ghi");
hashmap.put(5, "jkl");
hashmap.put(6, "mno");
hashmap.put(7, "pqrs");
hashmap.put(8, "tuv");
hashmap.put(9, "wxyz");
listlist = new arraylist();
int value = integer.valueof(digits);
for (int i = 0; i < digits.length(); i++)
value /= 10;
continue;
}//list2存放上一次組合資料,list存放本次組合資料
listlist2 = list;
list = new arraylist();
for (int j = 0; j < stringbuilder.length(); j++)
}value /= 10;
}return list;}}
17 電話號碼的組合
我怎麼也沒想到,他還能打一樣的。當事人考慮到了2,寫的錯誤 主要思想還是填坑 int flag num 200 int flag char 200 vector lettercombinations string digits void dfs string digits,vector ans,in...
C 電話號碼的組合
給定乙個僅包含數字 2 9 的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。例如 輸入 23 輸出 ad ae af bd be bf cd ce cf static string str class solution 找到當前字元在string...
力扣 17 電話號碼的字母組合
c 刷題學習筆記目錄 c 百萬併發網路通訊 筆記目錄 回溯三步法 字串到字母的對映 同樣是使用 演算法套路 回溯篇 回溯三步法 中提到的回溯三步法 但是剛開始使用了unordered map來進行數字 字母的對映,所以略顯麻煩,看到 隨想錄 大佬的題解回溯演算法 號碼的字母組合,原來可以使用stri...