LeetCode-17- Letter Combinations of a Phone Number(查表/递归)-Medium
2015-12-27 12:45
603 查看
题意理解:
将手机的数字按键值,转换为对应字母的所有组合;
题目分析:
1. 查表;
2. 将数字字符串的首字符取出,然后剩余的字符子串做递归处理;
解题代码:
将手机的数字按键值,转换为对应字母的所有组合;
题目分析:
1. 查表;
2. 将数字字符串的首字符取出,然后剩余的字符子串做递归处理;
解题代码:
class Solution { public: vector<string> letterCombinations(string digits) { vector<string> ans; int dLen=digits.length(); if(dLen==0){ return ans; } vector<string> dictionary={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; string s=dictionary[digits[0]-'0']; //cout<<"s= "<<s<<endl; for(int i=0;i<s.length();i++){ string t=""; t+=s[i]; if(dLen>=2){ // cout<<"digits.substr(1)= "<<digits.substr(1)<<endl; vector<string> v=letterCombinations(digits.substr(1)); // cout<<"v.size()= "<<v.size()<<endl; for(int j=0;j<v.size();j++){ ans.push_back(t+v[j]); //cout<<"push_back1: "<<t<<endl; } }else{ ans.push_back(t); //cout<<"push_back2: "<<t<<endl; } } return ans; } };
相关文章推荐
- 关于Unity3D的编辑器崩溃时的线索定位
- servlet获取form表单提交的文件
- JAVA常用类之包装类
- C++编译器
- lua如何在游戏中保存上一次游戏状态
- Swift读取txt格式的数据并转换成Double格式
- ios AFNetWorking 数据缓存 (没看懂暂存)
- 循环结构<2>__笔记(6)
- hdu 3518 Boring counting 后缀数组基础题
- cf593d
- 树和树结构(2) : Treap树
- Android 的机型适配: 屏幕适配(包括dpi,dp,sp的概念) 版本适配 硬件适配。 以及如何和美工配合
- 第一个 C 语言编译器是怎样编写的?
- Redis中的事务
- 第四篇 PHP的成长路线
- 【重走普及路】【xfs】填充颜色
- PHP的json_encode中文被转码的问题
- SIP头域
- 输入框 js正则推断输入
- 浅谈Netfilter框架原理(二)