• leetCode 17. Letter Combinations of a Phone Number


    #include <iostream>
    #include <vector>
    #include <stdlib.h>
    using namespace std;
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    class Solution {
    public:
        vector<char> mystack;
        vector<string> ans;
       
        void getAns(string digits,string dict[]){
             
          if(digits.size()!=0){
           //char ch=digits.at(0);
           //int cur = atoi(ch);这样写有问题会报runtime error
           //
    int cur =atoi(&ch);//此处atoi(&ch)会越界,因为字符串是以''结尾,而这个字符在老后面会越界,某些编译器可能不会检查这个错误;
    char ch[2] ;
                ch[0]= digits.at(0);
                ch[1]=0;
                int cur =atoi(ch);
                cur-=2;
                for(int i=0;i <dict[cur].size();++i){
                    mystack.push_back(dict[cur].at(i));
                    getAns(digits.substr(1),dict);
                    mystack.pop_back();
    
                } 
          }else{
              string str="";
              for(int j=0;j<mystack.size();j++){
                  str+=mystack[j];
              }
              ans.push_back(str);
             // mystack.pop_back();
          }
            
            
        }
        vector<string> letterCombinations(string digits) {
             string dict[8]= {"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
            if(digits.size()==0){
                return ans;
            }
            
            getAns(digits,dict);
            return ans;
            
            
        }
    };
    int main(int argc, char** argv) {
        Solution so;
        so.letterCombinations("234");
        for(int i=0;i<so.ans.size();i++){
            cout<<so.ans[i]<<endl;
        }
        return 0;
    }
  • 相关阅读:
    Mybatis学习01:利用mybatis查询数据库
    SpringBoot_登录注册
    python抓取中科院大学招聘
    centos7设置固定IP
    PIL给图片加水印
    You can ignore those files in your build.gradle
    mysql事件执行时间
    wampserver2.5域名解析错误问题
    Mysql错误消息 语言设置
    js控制select多选
  • 原文地址:https://www.cnblogs.com/GW17195/p/7360165.html
Copyright © 2020-2023  润新知