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"].

     本文是简单的词语匹配问题,先用letter存放字母键对应的字母组,然后就是两个字符的组合问题。时间:2ms

    代码如下:

    class Solution {
    public:
        string getString(char s){
            switch (s){
            case '0':return ""; break;
            case '2':return "abc"; break;
            case '3':return "def"; break;
            case '4':return "ghi"; break;
            case '5':return "jkl"; break;
            case '6':return "mno"; break;
            case '7':return "pqrs"; break;
            case '8':return "tuv"; break;
            case '9':return "wxyz"; break;
            default:return ""; break;
            }
        }
        vector<string> letterCombinations(string digits) {
            vector<string> letter;
            int n = letter.size();
            string strf = getString(digits[0]);
            for (int i = 0; i < strf.size(); i++){
                string s = "";
                s += strf[i];
                letter.push_back(s);
            }
            for (int i = 1; i < digits.size(); i++){
                string strl = getString(digits[i]);
                n = letter.size();
                for (int j = 0; j < n; j++){
                    strf = letter[j];
                    for (int z = 0; z < strl.size(); z++){
                        letter.push_back(strf + strl[z]);
                    }
                }
                letter.erase(letter.begin(), letter.begin() + n);
            }
            return letter;
        }
    };
    “If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime.”
  • 相关阅读:
    手打AC的第2道数位DP:BZOJ1799: [Ahoi2009]self 同类分布
    Oracle PL/SQL编程基础
    Oracle高级查询,事物,过程及函数
    缓存技术
    图形化报表
    网站配置与部署
    Oracle 空间管理
    Oracle 10g体系结构及安全管理
    ORACLE 数据库概述
    jQuery中的Ajax应用
  • 原文地址:https://www.cnblogs.com/Scorpio989/p/4444365.html
Copyright © 2011-2022 走看看