做网站一定要代码吗,明港网站建设,类似于wordpress的软件,免费下载app软件网站给定一个仅包含数字 2-9 的字符串#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下#xff08;与电话按键相同#xff09;。注意 1 不对应任何字母。 示例 1#xff1a;
输入#xff1a;digits 23
输出#…
给定一个仅包含数字 2-9 的字符串返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下与电话按键相同。注意 1 不对应任何字母。 示例 1
输入digits 23
输出[ad,ae,af,bd,be,bf,cd,ce,cf]示例 2
输入digits
输出[]示例 3
输入digits 2
输出[a,b,c]提示
0 digits.length 4digits[i] 是范围 [2, 9] 的一个数字。 vectorstringvecStr{,,abc,def,ghi,jkl,mno,pqrs,tuv,wxyz}; vectorvectorboolvisitedvectorvectorbool(10,vectorbool(4,false)); void backtrack(vectorstringret,string digits,int cur,std::dequecharstk,vectorvectorboolvisited) { if(stk.size() digits.size()) { dequechartmpStkstk; string str; while(!tmpStk.empty()){ str str tmpStk.front(); tmpStk.pop_front(); } if(str!) { ret.push_back(str); } } for(int icur;idigits.size();i) { int cTmpdigits[i]-0; string tmpStrvecStr[cTmp]; for(int j0;jtmpStr.size();j) { if(visited[i][j]true) { continue; } visited[i][j]true; stk.push_back(tmpStr[j]); backtrack(ret, digits,i1,stk,visited); visited[i][j]false; stk.pop_back(); } } } vectorstring letterCombinations(string digits) { vectorstringret; dequecharstk; backtrack(ret, digits, 0,stk,visited); return ret; }