LeetCode OJ:Letter Combinations of a Phone Number
来源:互联网 发布:在淘宝卖什么东西好 编辑:程序博客网 时间:2024/06/06 08:58
Letter Combinations of a Phone Number
Given a digit string, return all possible letter combinations that the number could represent.
A mapping of digit to letters (just like on the telephone buttons) is given below.
Input:Digit string "23"Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.
class Solution { vector<string> result; string str;public: void dfs(int k,string &digits,map<int,string> &mp){ if(k==digits.size()){ result.push_back(str); return; } for(int i=0;i<mp[digits[k]-'0'].size();i++){ str+=mp[digits[k]-'0'][i]; dfs(k+1,digits,mp); str.resize(k); } } vector<string> letterCombinations(string digits) { map<int,string> mp; mp[2]="abc";mp[3]="def"; mp[4]="ghi";mp[5]="jkl";mp[6]="mno"; mp[7]="pqrs";mp[8]="tuv";mp[9]="wxyz"; dfs(0,digits,mp); return result; }};
迭代:
class Solution {public: const vector<string> keyboard{" ","","abc","def", "ghi","jkl","mno","pqrs","tuv","wxyz"}; vector<string> letterCombinations(string digits) { vector<string> result(1,""); for(auto d : digits){ const size_t n=result.size(); const size_t m=keyboard[d-'0'].size(); result.resize(n*m); for(size_t i=0;i<m;++i) copy(result.begin(),result.begin()+n,result.begin()+n*i); for(size_t i=0;i<m;++i){ auto begin=result.begin(); for_each(begin+n*i,begin+n*(i+1),[&](string &s){ s+=keyboard[d-'0'][i]; }); } } return result; }};
0 0
- LeetCode OJ:Letter Combinations of a Phone Number
- LeetCode OJ - Letter Combinations of a Phone Number
- LeetCode OJ Letter Combinations of a Phone Number
- LeetCode OJ - Letter Combinations of a Phone Number
- LeetCode OJ-17-Letter Combinations of a Phone Number
- LeetCode OJ-17.Letter Combinations of a Phone Number(DFS)
- LeetCode: Letter Combinations of a Phone Number
- LeetCode Letter Combinations of a Phone Number
- LeetCode: Letter Combinations of a Phone Number
- [Leetcode] Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- 【leetcode】Letter Combinations of a Phone Number
- LeetCode: Letter Combinations of a Phone Number
- [LeetCode]Letter Combinations of a Phone Number
- LeetCode-Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- LeetCode - Letter Combinations of a Phone Number
- LeetCode:Letter Combinations of a Phone Number
- poj1659 havel-hakimi定理的应用
- Jetty在Ubuntu上的安装
- LeetCode OJ:Remove Nth Node From End of List
- 关于tail -f 的报错file truncated的
- web2.o
- LeetCode OJ:Letter Combinations of a Phone Number
- 如何解决hadoop2.2一直处于安全模式
- freopen的使用
- 对STM32官方库封装一:GPIO库
- J2SE实战项目——信用卡管理系统
- oracle中 connect,resource 权限详解
- oracle的操作系统认证(connect as sysdba)登录方式
- Oracle用户、权限、角色管理
- oracle两种认证方式总结