给定一个仅包含数字 2-9
的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例:
输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
思路:
建立一个字典,确定每个数字对应的字符串。使用一个字符串temp用于缓存,一个下标量用于判断缓存字符串长度,搜索所有可能的组合情况。
代码:
#include <bits/stdc++.h>
using namespace std;
map<char,string> dict; //创建一个字典 存储每个数字对应的字符串
int size = 0; vector<string> ans;
string s = "";
//初始化字典
void init(){
dict['2'] = "abc"; dict['3'] = "def"; dict['4'