17 電話號碼的字母組合 DFS

2021-10-23 23:14:22 字數 1183 閱讀 8064

難度:中等

最近好多dfs回溯的題欸

題目描述

解題思路

回溯其實就是暴力遞迴遍歷,一般如果是求所有可能的排列這種,大概就是用回溯做

模板:

backtracking()

for(列舉同乙個位置的所有可能性,可以想成節點孩子的數量)

}

對於這個題,用乙個stringbulider來暫存當前的選擇,用index變數來標識當前遍歷到哪個數字了,對於每個index上的所有可能性,每次選擇乙個,就開始繼續遞迴,遞迴返回的時候撤銷選擇的結果

/*

* 17. **號碼的字母組合

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...