原題鏈結
class
solution);
numpad.
push_back()
; numpad.
push_back()
; numpad.
push_back()
; numpad.
push_back()
; numpad.
push_back()
; numpad.
push_back()
; numpad.
push_back()
; numpad.
push_back()
; numpad.
push_back()
;return numpad;
}void
solver
(string digits, vector
&answer,
const vector>
&numpad)
int digit = digits[0]
-'0'
; digits.
erase(0
,1);
vectorpartialanswers;
solver
(digits,partialanswers,numpad)
;for
(auto curchar : numpad[digit])}
} vector
lettercombinations
(string digits)
};
方法二:回溯演算法,思想類似於深度優先搜尋,二者的區別在於:
回溯演算法是深度優先搜尋的一種,回溯演算法在求解過程中不保留完整的樹結構,而深度優先搜尋則記錄完整的搜尋樹結構。
給出本題的python回溯演算法**,參考出處
class
solution
:def
lettercombinations
(self, digits:
str)
-> list[
str]:if
not digits:
return
phone =
defbacktrack
(conbination,nextdigit):if
len(nextdigit)==0
:else
:for letter in phone[nextdigit[0]
]:backtrack(conbination + letter,nextdigit[1:
])res =
backtrack(
'',digits)
return res
Leetcode17 電話號碼組合
leetcode17 號碼組合 給定乙個僅包含數字 2 9 的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。示例 輸入 23 輸出 ad ae af bd be bf cd ce cf 思路 大家都能想到,我每次從裡面選擇乙個數,然後把所有的可能...
leetcode 17 電話號碼的字母組合
題目描述 給定乙個僅包含數字2 9的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。示例 輸入 23 輸出 ad ae af bd be bf cd ce cf 實現 string num 10 class solution private tem...
LeetCode17電話號碼的字母組合
給定乙個僅包含數字2 9的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。示例 輸入 23 輸出 ad ae af bd be bf cd ce cf class solution def lettercombinations self,digit...