class
solution};
//建立list集合用來存放答案
list
list =
newarraylist
<
>()
;//主函式
public list
lettercombinations
(string digits)
//遞迴函式用來連線字串,str為上乙個連線的字串,digits為上乙個切割後剩下的字串
private
void
go(string str, string digits)
//num用來存放切割下來的數字
string num = digits.
substring(0
,1);
//digits切割下剛才的數字
digits = digits.
substring(1
);//從map中找到剛才的數字對應的字串並儲存到ans字串中
string ans = map.
get(num)
;//遍歷迴圈,將字串中的字母新增到上乙個字串的後面然後繼續遞迴
for(
int i =
0;ilength()
;i++
)return;}
}
Leetcode17 電話號碼組合
leetcode17 號碼組合 給定乙個僅包含數字 2 9 的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。示例 輸入 23 輸出 ad ae af bd be bf cd ce cf 思路 大家都能想到,我每次從裡面選擇乙個數,然後把所有的可能...
17號 18號總結
這兩天學習了毛毛蟲演算法 取尺,就如兩個指標乙個指向開頭,乙個指向後面的某個數,這兩個指標之間的長度又形象的比喻成毛毛蟲的身體長度,因為每當頭開始移動,尾巴也會隨著往後移動。就如做的那道題,樣例輸入乙個長度位3的數字,即代表毛毛蟲的長度,每次頭網前移動,尾巴也會隨著網前移動。while w n el...
LeetCode題解 17 電話號碼的字母組合
1 這題是個求解子排列的問題,但是又不是單純的子集,而是子集中有子集,而且是字典序有序排列,used標識其實可以去除 2 使用map存放鍵值對,使用位串list true,false,true,false,true,表示digits 0,1,2,3,4,5 中該位是否被使用,還可以簡化下為二進位制表...