备案号怎么放到网站,微信小程序开发常见问题,手机版网站 html5,做网站猫要做端口映射吗文章目录1. 题目信息2. 解题1. 题目信息
给定一个仅包含数字 2-9 的字符串#xff0c;返回所有它能表示的字母组合。
给出数字到字母的映射如下#xff08;与电话按键相同#xff09;。注意 1 不对应任何字母。
示例:输入#xff1a;23
输出#xff1a;[返回所有它能表示的字母组合。
给出数字到字母的映射如下与电话按键相同。注意 1 不对应任何字母。
示例:输入23
输出[ad, ae, af, bd, be, bf, cd, ce, cf].说明: 尽管上面的答案是按字典序排列的但是你可以任意选择答案输出的顺序。
2. 解题
类似题目程序员面试金典 - 面试题 16.20. T9键盘数组
先创建哈希映射表然后暴力回溯 class Solution {
public:vectorstring letterCombinations(string digits) {if(digits.empty())return {};string temp;vectorstring ans;unordered_mapchar,vectorchar v;v[2] {a,b,c};v[3] {d,e,f};v[4] {g,h,i};v[5] {j,k,l};v[6] {m,n,o};v[7] {p,q,r,s};v[8] {t,u,v};v[9] {w,x,y,z};bt(v,digits,temp,ans,0);return ans;}void bt(unordered_mapchar,vectorchar v, string digits, string temp, vectorstring ans, int i){if(i digits.size()){ans.push_back(temp);return;}vectorchar ch v[digits[i]]; for(auto it ch.begin(); it ! ch.end(); it){temp.push_back(*it);bt(v,digits,temp,ans,i1);temp.pop_back();}}
};