• leetcode Letter Combinations of a Phone Number


    题目连接

    https://leetcode.com/problems/letter-combinations-of-a-phone-number/  

    Letter Combinations of a Phone Number

    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);
    		}
    	}
    };
  • 相关阅读:
    LRu Cache算法原理
    c# 哈希表
    c# 获取二维数组的行数和列数
    Linq
    DataTable使用
    Wpf学习
    数据库配置
    js 数字保留两位小树
    平面数据转换为树形结构
    mysql操作
  • 原文地址:https://www.cnblogs.com/GadyPu/p/5040247.html
Copyright © 2020-2023  润新知