• 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;
    }
  • 相关阅读:
    阿里安全称发现安卓WiFi漏洞:黑客可远程攻击
    Android Art Hook 技术方案
    java 静态代码块执行顺序
    sqlzoo易错题
    Centos7安装配置Nginx_笔记
    System.Runtime.Caching中MemoryCache帮助类
    youtube-dl工具的使用
    C#程序员快速上手Angular开发
    npm常见配置收集
    Resharp常用设置收集整理
  • 原文地址:https://www.cnblogs.com/GW17195/p/7360165.html
Copyright © 2020-2023  润新知