【发布时间】:2014-02-17 09:13:51
【问题描述】:
假设,如果我给 'ABC' 作为输入,那么我想要 'ABC', 'ACB', 'CAB', 'CBA', 'BAC', 'BCA' 。每个单词都有 n! 的组合,其中 n 是字母的长度。我认为递归可以使它更容易。这是我用 javascript 编写的代码:
function reArrange(word)
{
console.log(word);
if (word.length < 0) {
return (-1);
}
else if (word.length == 0) {
return ('');
}
else {
for (var _i = 0; _i < word.length; _i++) {
var temp = word[_i];
for (var _j = 0; _j < word.length; _j++) {
if (_i != _j) {
return word[_i] + reArrange(word.slice(_i, word.length));
}
}
}
}
}
请使用详细的注释。
【问题讨论】:
-
我真的很好奇这个用例是什么
-
问题是什么?如果您想要代码审查,请在CodeReview.SE 中发布
-
“我认为递归可以使它变得更容易”(这是我能找到的最接近您问题中的问题或请求的东西) - 函数 是 递归的。
标签: javascript algorithm logic combinations