简单粗暴的用js实现下,先把一头一尾拿出来,剩余的从替换一个到替换它的长度个,用两个循环,外层循环控制替换个数,内层进行替换,最后再把替换好的加上首尾就可以了。
function result(str){
var strArr=str.split('');
var res=[];
var first=strArr.shift();
var last=strArr.pop();
for(var i=1;i<=strArr.length;i++){ //换i个
for(var j=0;j<=strArr.length-i;j++){
var temp=strArr.slice(0);
temp.splice(j,i,i);//删除并替换
res.push(temp)
}
}
for(var k=0;k<res.length;k++){
res[k].unshift(first);
res[k].push(last);
console.log(res[k].join(''));
}
}