问题描述
假如有这样一个字符串'1*2*332**321*'
我们最终要把他变成这样 *****12332321
方法1
如果用js的接口非常容易实现,如下代码:
先转成数组,遍历数组。遇到 ‘*’,用数组的splice方法把它取出来,再用数组的unshift方法放到最前面
function f1(str){
let arr = str.split("")
for(let i=0;i<arr.length;i++){
if(arr[i] === '*'){
arr.unshift(arr.splice(i,1))
}
}
return arr.join("")
}
上述方法是简单,但是不讲武德,也就在js中能做这种操作,这体现不出我们能的思维能力来。下面是正常的方法