Leetcode 17 電話號碼的字母組合

2021-10-06 16:40:39 字數 1549 閱讀 4180

筆者以c++方式解決。

#include

"iostream"

using namespace std;

#include

"algorithm"

#include

"vector"

#include

"queue"

#include

"set"

#include

"map"

#include

"string"

#include

"stack"

class solution

;// 結果陣列

vector result;

public:

vector

lettercombinations

(string digits)

// 當前正在處理的字串

string temp;

// 深搜,從 0 開始

dfs(digits, temp,0)

;return result;

}/**

* 深搜所有的組合

* @param digits 字串

* @param temp 當前正在處理的字串

* @param index 當前處理的下標

*/void

dfs(string digits, string &temp,

int index)

// 達到符合要求的邊界,儲存值到結果陣列,並返回

if(temp.

length()

== digits.

length()

)// 獲取字串中 index 處的數字

int number_data = digits[index]

-'0'

;// 獲取其代表的字串的索引

number_data -=2

;// 獲取代表的字串

string basicstring = datachen[number_data]

;// 遍歷整個代表的字串,分為取和不取兩種狀態

for(

int i =

0; i < basicstring.

length()

;++i)}}

;int

main()

system

("pause");

return0;

}

執行結果

有點菜,有時間再優化一下。

難得有時間刷一波leetcode, 這次做乙個系統的記錄,等以後複習的時候可以有章可循,同時也期待各位讀者給出的建議。演算法真的是乙個照妖鏡,原來感覺自己也還行吧,但是演算法分分鐘教你做人。前人栽樹,後人乘涼。在學習演算法的過程中,看了前輩的成果,受益匪淺。

感謝各位前輩的辛勤付出,讓我們少走了很多的彎路!

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