JS中的关于实现字符检查的实例
标签:
JavaScript
把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符为准
例如, aab 应该返回 2 因为它总共有6中排列 (aab, aab, aba, aba, baa, baa), 但是只有两个 (aba and aba)没有连续重复的字符 (在本例中是 a).
code
function permAlone(str) {
var arr=str.split("");
var newArr=[];
var tmp;
function swap(index1,index2){
tmp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = tmp;
}// swap交换函数
function generate(int){
if(int === 1){
newArr.push(arr.join(""));
}else{
for(var i=0;i<int;i++){
generate(int-1);
swap(int % 2 ? 0:i,int -1);
}
}
}//递归函数
generate(arr.length);
var re=/(.)\1+/g;
var filtered=newArr.filter(function(string){
return !string.match(re);
});
return filtered.length;
}
permAlone('aab');
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦