突入其来的一道题

2020-08-17  本文已影响0人  vavid
image.png
今天有人在我们的MOK粉丝群里丢出来一道题,于是兴致一上来就决定动手做一做,还发给同事一起做。

题目:
给定一个list如下,请将所有的*号排列在左侧,不引入新的list
list = ['*', '-', '#', '*', '-', '*', '*', '&', '-', '*', '-', '%', '-', '-', '*'];

同事给出的解法:

image.png

我给出的解题思路:

var array = ['*','-','#','*','-','*','*','&','-','*','-','%','-','-','*'];
var cnt=0, j=0, i=0;

for(var j=array.length-1; j>=0; j--){
    if(j-cnt < 0){
       array[j] = '*';
       continue;
    }
    if(array[j-cnt] == '*'){
        j++;
        cnt++;
        continue;
    }
    array[j] = array[j-cnt];
}
上一篇 下一篇

猜你喜欢

热点阅读