首页 > 其他 > 详细

19.1.26 [LeetCode17] Letter Combinations of a Phone Number

时间:2019-01-26 12:27:47      阅读:156      评论:0      收藏:0      [点我收藏+]

Given a string containing digits from 2-9 inclusive, 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. Note that 1 does not map to any letters.

技术分享图片

Example:

Input: "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.

题意

字母和数字间存在映射,给出一串数字求可以映射到的所有字母串

感觉好像没啥意思

题解

技术分享图片
 1 class Solution {
 2 public:
 3     vector<string> letterCombinations(string digits) {
 4         vector<string> Old, New;
 5         Old.push_back("");
 6         int f[10][2] = { -1,-1,-1,-1,0,2,3,5,6,8,9,11,12,14,
 7         15,18,19,21,22,25 };
 8         for (int i = 0; digits[i]; i++) {
 9             New.clear();
10             int idx = digits[i] - 0;
11             for (int j = 0; j < Old.size(); j++) {
12                 for (int k = f[idx][0]; k <= f[idx][1]; k++)
13                     New.push_back(Old[j] + (char)(k + a));
14             }
15             Old = New;
16         }
17         return New;
18     }
19 };
View Code

 

19.1.26 [LeetCode17] Letter Combinations of a Phone Number

原文:https://www.cnblogs.com/yalphait/p/10323046.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!