首頁>技術>

有一個數組,裡面只存在 * 和 字母,比如 ['*', 'd', 'c', '*', 'e', '*', 'a', '*']。現在需要把這個陣列中的所有星號移動到左邊,所有的字母移動到右邊,所有字母的順序不能改變。(加分項:考慮時間複雜度和空間複雜度)

function parse(arr){        var counter = 0;	for(var i = 0; i < arr.length; i++){                //找到所有*號,進行移除		if(arr[i] == '*'){			arr.splice(i, 1);			counter++; //記錄*號的數量			i--;		}	}	while(counter > 0){                //把*號重新加入開頭		arr.unshift('*');		counter--;	}	return arr;}console.log(parse(['*', 'd', 'c', '*', 'e', '*', 'a', '*']));

10
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Netflix 工程師的生活——40毫秒的案例