博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
17. Letter Combinations of a Phone Number
阅读量:4259 次
发布时间:2019-05-26

本文共 1644 字,大约阅读时间需要 5 分钟。

Given a digit string, return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.

这里写图片描述

Input:Digit string “23”

Output: [“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].
Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.

思路1:利用一个递归遍历

unordered_map
data = { { '2', "abc" }, { '3', "def" }, { '4', "ghi" }, { '5', "jkl" }, { '6', "mno" }, { '7', "pqrs" }, { '8', "tuv" }, { '9', "wxyz" } };void dfs_letter(string &digits, int pos,string str, vector
& res){ if (str.size() == digits.size()){ res.push_back(str); return; } for (int i = 0; i < data[digits[pos]].size(); i++){ dfs_letter(digits, pos + 1, str + data[digits[pos]][i], res); }}vector
letterCombinations1(string digits) { vector
str; if (digits == "")return str; dfs_letter(digits, 0, "", str); return str;}

思路2:利用一个循环过程

unordered_map
data = { { '2', "abc" }, { '3', "def" }, { '4', "ghi" }, { '5', "jkl" }, { '6', "mno" }, { '7', "pqrs" }, { '8', "tuv" }, { '9', "wxyz" } };vector
letterCombinations(string digits) { vector
str; if (digits == "")return str; vector
v({ "" }); for (int i = 0; i < digits.size(); i++){ vector
temp; for (int j = 0; j < v.size(); j++){ for (int k = 0; k < data[digits[i]].size(); k++){ temp.push_back(v[j] + data[digits[i]][k]); } } v = temp; } return v;}
你可能感兴趣的文章
objective-c init方法的写法
查看>>
极客公园 Mac 第三方客户端(swift)
查看>>
【Lintcode】寻找峰值
查看>>
Arduino 串口读写 SD 卡模块
查看>>
图的基本算法--深度优先搜索(dfs) 和 广度优先搜索(bfs)
查看>>
[Linux] Linux内核编译安装过程,及Linux源码目录结构
查看>>
[Linux] c语言变量的存储位置-笔记
查看>>
[Linux] 头文件实质-笔记
查看>>
统一修改iOS中xib颜色值
查看>>
数据湖与数据仓库的新未来:阿里提出湖仓一体架构
查看>>
基于 Flink+Iceberg 构建企业级实时数据湖 | 附 PPT 下载
查看>>
Flink 源码:Checkpoint 元数据详解
查看>>
基于Flink+ClickHouse打造轻量级点击流实时数仓
查看>>
Flink sink schema 字段设计小技巧
查看>>
Flink 使用 union 代替 join 和 cogroup
查看>>
踩坑记 | Flink 天级别窗口中存在的时区问题
查看>>
用了 History Server,妈妈再也不用担心我的 Flink 作业半夜挂了
查看>>
强烈推荐三本 Spark 新书籍
查看>>
ClickHouse 知识讲解
查看>>
ClickHouse 如何玩转时序数据
查看>>