給定乙個僅包含數字2-9
的字串,返回所有它能表示的字母組合。
給出數字到字母的對映如下(與**按鍵相同)。注意 1 不對應任何字母。
(手機九鍵輸入對應關係)。
示例:
輸入:"23"
輸出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
說明:
儘管上面的答案是按字典序排列的,但是你可以任意選擇答案輸出的順序。
題解:
var lettercombinations = function(digits) );
if(letter_arr.length==0)return letter_arr;
if(letter_arr.length==1)return letter_arr[0].split('');
function handle(arr) $`);}}
if(arr.length>2)else
}return handle(letter_arr);
};
如上,需要使用遞迴的方式來做參考題解說是回溯法,需要注意的是當輸入0或1的時候或者輸入乙個數字的時候(容易漏掉這點)。思路上來講就是最開始前兩項進行組合,如果後面還有就開始遞迴去做,遞迴的時候把組合過的前兩項去掉,並把組合過的結果放入第一項,然後按照同樣的方式進行再組合。 17 電話號碼的字母組合
給定乙個數字字串,返回數字所有可能表示的字母組合。下面給出數字到字母的對映 和 號碼一樣 輸入 數字字串 23 輸出 ad ae af bd be bf cd ce cf 思路1 採用迭代的方法。class solution if digits.empty return vector vectorr...
17 電話號碼的字母組合
1.遞迴 class solution object deflettercombinations self,digits type digits str rtype list str 建立字母對應的字元列表的字典 dic 儲存結果的陣列 ret str iflen digits 0 return 遞...
17 電話號碼的字母組合
給定乙個僅包含數字2 9的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。圖中顯示 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz 輸入 23 輸出 ad ae af bd be bf cd ce...