小编You*_*aik的帖子

电话键盘键的字母组合

我有一个关于JavaScript中电话键盘键的字母组合的问题.我使用DFS递归编写了一个解决方案.但它没有按预期工作.我是JavaScript的新手,但在Ruby中编写类似的代码.

问题是从电话键盘获取所有可能的字母组合.

输入:"23"

输出:["ad","ae","af","bd","be","bf","cd","ce","cf"].

使用下面的代码,它停在"af".输出为["ad","ae","af"].我不确定为什么这段代码不会移动到"2"的第二个字母,即"b".

const map = {
  "2": ["a", "b", "c"],
  "3": ["d", "e", "f"],
  "4": ["g", "h", "i"],
  "5": ["j", "k", "l"],
  "6": ["m", "n", "o"],
  "7": ["p", "q", "r", "s"],
  "8": ["t", "u", "v"],
  "9": ["w", "x", "y", "z"]
};

let result = [];

let letterCombinations = function(digits) {
  if (digits.length == 0) {
    return []
  };

  let stack = [];
  dfs(digits.split(''), 0, stack)

  return result
};

function dfs(digits, index, stack) {
  const currentLetters = map[digits[index]] …
Run Code Online (Sandbox Code Playgroud)

javascript recursion microsoft-distributed-file-system

2
推荐指数
1
解决办法
60
查看次数