leetcode Letter Combinations of a Phone Number
2015-12-11 21:08
344 查看
原题理解:https://leetcode.com/problems/letter-combinations-of-a-phone-number/
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.
dfs。。
Description
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.
dfs。。
class Solution { public: vector<string> letterCombinations(string digits) { init(); ans.clear(); n = digits.length(); if (!n) return ans; dfs(0, "", digits); return ans; } private: size_t n; map<int, string> A; vector<string>ans; void init() { A[2] = "abc"; A[3] = "def"; A[4] = "ghi"; A[5] = "jkl"; A[6] = "mno"; A[7] = "pqrs"; A[8] = "tuv"; A[9] = "wxyz"; } void dfs(int cur, string x, string digits) { if (cur == n) { ans.push_back(x); return; } int d = digits[cur] - '0'; for (size_t i = 0; i < A[d].size(); i++) { dfs(cur + 1, x + A[d][i], digits); } } };
相关文章推荐
- hdu 5265 pog loves szh II
- The kth great number(优先队列)
- python笔记(模块)
- C#剪切板
- 细说MATLAB中的max函数
- 最小费用-最大流---hdu1533
- Java日志那点儿事儿
- 拷贝控制
- leetcode -- Container With Most Water -- 经典题目重要!
- 分区表 switch operation
- 模拟电路学习入门的建议(综合整理)
- Python--类-例子
- Java基础---正则
- 沙盒文件存储
- java泛型(一)、泛型的基本介绍和使用
- leetcode Remove Nth Node From End of List
- Matlab矩阵基本操作(定义,运算)
- PHPRedis 中文文档
- Hibernate:第一个Hibernate程序
- 【php】mysql全局ID生成方案