电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母,输入: 23
输出: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
回溯
function getLetters(digits) { if (!digits) return [] const digitsMap = { 2: 'abc', 3: 'def', 4: 'ghi', 5: 'jkl', 6: 'mno', 7: 'pqrs', 8: 'tuv', 9: 'wxyz', } const res = [] function track(s, start) { if (s.length === digits.length) { res.push(s) return } const letters = digitsMap[digits[start]] for(let i = 0;i< letters.length;i++) { track(s+letters[i],start+1) } } track('', 0) return res } console.log(getLetters('24')) console.log(getLetters('523'))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 最长重复子串
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论