您现在的位置是:主页 > news > 淘客网站怎么做排名/免费推客推广平台
淘客网站怎么做排名/免费推客推广平台
admin2025/6/26 11:50:26【news】
简介淘客网站怎么做排名,免费推客推广平台,北京最新疫情消息今天,有谁知道教做空间的网站啊题目: 思路: 递归方式。每一次递归,都会遍历每个按键所有的字母。当递归到最底时,将这1种情况保存起来。 代码实现: class Solution { public:static void f(string &digits, int i, string &s, vector<s…
淘客网站怎么做排名,免费推客推广平台,北京最新疫情消息今天,有谁知道教做空间的网站啊题目: 思路: 递归方式。每一次递归,都会遍历每个按键所有的字母。当递归到最底时,将这1种情况保存起来。 代码实现:
class Solution {
public:static void f(string &digits, int i, string &s, vector<s…
题目:
思路:
递归方式。每一次递归,都会遍历每个按键所有的字母。当递归到最底时,将这1种情况保存起来。
代码实现:
class Solution {
public:static void f(string &digits, int i, string &s, vector<string> &ans,string *phone){if (i >= digits.length()){if (s == ""){return ;}ans.push_back(s);return ;}if (phone[digits[i]-'0'] == ""){f(digits, i+1, s, ans, phone);}else{for (int k = 0; k < phone[digits[i]-'0'].size(); ++k){s.append(1, phone[digits[i]-'0'][k]);f(digits, i+1, s, ans, phone);s.erase(s.length()-1);}}}vector<string> letterCombinations(string digits) {string s = "";vector<string> ans;string phone[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};f(digits, 0, s, ans, phone);return ans;}
};
discuss:
class Solution {
public:vector<string> letterCombinations(string digits) {if (digits.empty()){return {};}deque<string> q; // 存储顺序:首先存储长度为1的字符串;取出长度为1的字符串,组合成所有长度为2的长度;...以此类推,最后队列中剩下的就是长度为n的所有可能组合。vector<string> mapping = {"","","abc","def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};q.push_back("");for (int i = 0; i < digits.size(); ++i){int x = digits[i] - '0';while (q.front().size() == i){ // 上一次遍历时string长度均为i,这一次就要pop出来+1,然后再push进去string t = q.front();q.pop_front();for (char s : mapping[x]){q.push_back(t+s);}}}return vector<string>(q.begin(), q.end());}
};