leetcode 17 電話號碼的字母組合

2021-09-24 00:15:06 字數 1071 閱讀 6630

題目描述

給定乙個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。

給出數字到字母的對映如下(與**按鍵相同)。注意 1 不對應任何字母。

示例:

輸入:「23」

輸出:[「ad」, 「ae」, 「af」, 「bd」, 「be」, 「bf」, 「cd」, 「ce」, 「cf」].

說明:

儘管上面的答案是按字典序排列的,但是你可以任意選擇答案輸出的順序。

思路

排列問題->用回溯,存在一對多對映->用map

1.首先儲存數字到字母的對映關係

2.讀取外部輸入的數字串,每讀乙個數字,將其對應的每個字母拼接到上一次的字串上

3.每一步清除上一步殘留答案

**

class solution 

} res.

erase

(res.

begin()

,res.

begin()

+ len);}

} vector

lettercombinations

(string digits)

};

其中這一步!res.erase(res.begin(),res.begin() + len);

//此時res已經增長,並且vector執行erase後,後面的會移動到前面來

將上一步殘留的答案去掉,因為逐次讀數字,會儲存對應位數的答案,如輸入23,如果沒有這一步,輸出則為:[「a」,「b」,「c」,「d」,「e」,「f」,「ad」, 「ae」, 「af」, 「bd」, 「be」, 「bf」, 「cd」, 「ce」, 「cf」].

【實際上這個解法並沒有用到回溯,用迭代足矣】

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