- Medium
- 每日温度
- 任务调度器
- LRU 缓存
- 根据身高重建队列
- 打家劫舍
- 子集
- 颜色分类
- 最小路径和
- 不同路径
- 合并区间
- 跳跃游戏
- 最大子数组和
- 字母异位词分组
- 旋转图像
- 全排列
- 组合总和
- 在排序数组中查找元素的第一个和最后一个位置
- 搜索旋转排序数组
- 下一个排列
- 括号生成
- 删除链表的倒数第 N 个结点
- 电话号码的字母组合
- 三数之和
- 盛最多水的容器
- 最长回文子串
- 无重复字符的最长子串
- 两数相加
- Easy
- 合并二叉树
- 二叉树的直径
- 汉明距离
- 找到所有数组中消失的数字
- 比特位计数
- 移动零
- 回文链表
- 翻转二叉树
- 反转链表
- 多数元素
- 相交链表
- 环形链表
- 只出现一次的数字
- 买卖股票的最佳时机
- 二叉树的最大深度
- 对称二叉树
- 二叉树的中序遍历
- 合并两个有序链表
- 有效的括号
- 两数之和
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
电话号码的字母组合
解题思路
回溯。
代码实现
const letterCombinations = (digits: string): string[] => {
const map = [
"",
"",
"abc",
"def",
"ghi",
"jkl",
"mno",
"pqrs",
"tuv",
"wxyz",
];
const ans: string[] = [];
const length = digits.length;
if (!length) return ans;
const backTrack = (digitsIndex: number, s: string) => {
if (digitsIndex === length) {
return ans.push(s);
}
for (let i = 0; i < map[digits[digitsIndex]].length; i++) {
backTrack(digitsIndex + 1, s + map[digits[digitsIndex]][i]);
}
};
backTrack(0, "");
return ans;
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论