示例:數組
輸入: [0,1,0,3,12] 輸出: [1,3,12,0,0]
說明:函數
必須在原數組上操做,不能拷貝額外的數組。 儘可能減小操做次數。
/** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */ var moveZeroes = function(nums) { nums.forEach((ele,index) => { if(ele === 0){ nums.push(ele) nums.splice(index, 1); } }) }; //粗暴的當前數組可執行
var moveZeroes = function(nums) { let zeroNum = 0 for(let i=0;i<nums.length;i++){ if(nums[i]==0){//若是nums[i]=0,zeroNum個數加一 zeroNum++; }else if(zeroNum!=0){//若是nums[i]不等於0,將nums[i]跟前zeroNum個交換,而且將nums[i]賦值爲0 nums[i-zeroNum]=nums[i]; nums[i]=0; } } };
各位有什麼好的騷操做?code