【发布时间】:2016-02-12 21:46:59
【问题描述】:
我想知道是否有一种方法可以在不使用双循环的情况下检查字符串中的重复字符。这可以通过递归来完成吗?
使用双循环的代码示例(根据字符串中是否有重复字符返回真或假):
var charRepeats = function(str) {
for(var i = 0; i <= str.length; i++) {
for(var j = i+1; j <= str.length; j++) {
if(str[j] == str[i]) {
return false;
}
}
}
return true;
}
提前非常感谢!
【问题讨论】:
-
你能添加一些将被检查的示例数据和预期的结果吗?
-
在这种情况下什么算作字符串?例如一句话还是一个词?什么算作“重复”?多次出现?还是两个相邻的字母?
-
需要递归吗?还是只有另一种选择?如果是这样,请检查我的更新答案。 :)
-
/(.).*\1/.test(str)
标签: javascript recursion repeat