标签:
/** * 题意:将0挪到末尾,并且不改数组中原有元素的顺序 * 解析:找到0元素,然后寻找其后面非0的元素,进行交换位置 * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */ var moveZeroes = function(nums) { for(var i = 0;i< nums.length;i++){ if(nums[i]==0){ var j; for(j = i+1;j < nums.length;j++){ if(nums[j] != 0){ nums[i] = nums[j]; nums[j] = 0 ; break; } } //如果j找到最后都没有非0,表示末尾都是0了 if(j == nums.length) break; } } };
方法二
/** * 题意:将0挪到末尾,并且不改数组中原有元素的顺序 * 解析:将所有非零元素依次插入数组,最后空余的就为0 * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */ var moveZeroes = function(nums) { var k =0; for(var i = 0;i< nums.length;i++){ if(nums[i]!=0){ nums[k] = nums[i]; k++; } } for(;k<nums.length;k++) nums[k] = 0; };
标签:
原文地址:http://www.cnblogs.com/zsboy/p/4855028.html