283. Move Zeroes (E)
https://leetcode.com/problems/move-zeroes/
Last updated
https://leetcode.com/problems/move-zeroes/
Last updated
void moveZeroes(int[] nums) {
// 去除 nums 中的所有 0
// 返回去除 0 之后的数组长度
int p = removeElement(nums, 0);
// 将 p 之后的所有元素赋值为 0
for (; p < nums.length; p++) {
nums[p] = 0;
}
}
// 见上文代码实现
int removeElement(int[] nums, int val);
JAVA Version:
class Solution {
public void moveZeroes(int[] nums) {
int slow = 0;
int fast = 0;
while(fast<nums.length)
{
if(nums[fast] == 0)
{
fast++;
}
else
{
nums[slow] = nums[fast];
slow++;
fast++;
}
}
for(int i = slow; i< nums.length; i++)
{
nums[i] = 0;
}
}
}public class Solution {
public void moveZeroes(int[] nums) {
int pos=0;
for(int i=0;i<nums.length;i++)
{
if(nums[i]!=0)
{
nums[pos]=nums[i];
pos++;
}
}
for(;pos<nums.length;pos++)
{
nums[pos]=0;
}
}
}