zoukankan      html  css  js  c++  java
  • [LeetCode] 17. 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.

     1 class Solution {
     2     unordered_map<char, vector<string>> ht  = {
     3              {'0', {" "}}, {'1', {""}}, {'2', {"a", "b", "c"}}, {'3', {"d", "e", "f"}},
     4              {'4', {"g", "h", "i"}}, {'5', {"j", "k", "l"}}, {'6', {"m", "n", "o"}},
     5              {'7', {"p", "q", "r", "s"}}, {'8', {"t", "u", "v"}}, {'9', {"w", "x", "y", "z"}},
     6     };       
     7 public:
     8     vector<string> letterCombinations(string digits) {
     9         vector<string> ret;
    10         int n = digits.size();
    11         
    12         if (n == 0) return ret;
    13     
    14         if (n == 1) return ht[digits[0]];
    15        
    16         vector<string> prev = letterCombinations(digits.substr(0, n - 1));
    17 
    18         for (auto s : prev){
    19             for (int i = 0; i < ht[digits[n-1]].size(); i++)
    20             ret.push_back(s+ht[digits[n-1]][i]);
    21         }
    22         
    23         return ret;
    24     }
    25 };
  • 相关阅读:
    购物菜单
    数据库
    增删改查
    页面交互
    计算器
    2020.9.21
    团队-团队编程项目中国象棋-项目总结
    团队-团队编程项目作业名称-最终程序
    课后作业-阅读任务-阅读提问-4
    《20171130-构建之法:现代软件工程-阅读笔记》
  • 原文地址:https://www.cnblogs.com/amadis/p/5926503.html
Copyright © 2011-2022 走看看