leetcode 17. Letter Combinations of a Phone Number

来源:互联网 发布:vue.js 2.0中文文档 编辑:程序博客网 时间:2024/06/15 13:29


常见DFS题,好久没做了,有点生疏

dfs最常见的就是

dfs()

{

if(到达边界条件)

输出结果到答案

for(?;?;?)

{

给某全局变量赋值

dfs()

解除全局变量赋值

}

}



class Solution {public:string str[10]={" ","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};vector<string> ans;string dfs_str;void dfs(string digits,int k){int num,str_len,len,i;string now_s;str_len=digits.length();if(k==str_len)   //若等于长度,则ans加一个字符串{ans.push_back(dfs_str);return ;}num=digits[k]-'0';now_s=str[num];len=now_s.length();for(i=0;i<len;i++) { dfs_str+=now_s[i];   //dfs_str加一个字符dfs(digits,k+1);dfs_str=dfs_str.substr(0,k);  //减一个字符}}vector<string> letterCombinations(string digits){    if(digits.size()==0)        return ans;dfs(digits,0);return ans;}};


0 0
原创粉丝点击