移动零【LC 283题】
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。
💡 使用一个开始的指针flag来记录下一个非零元素放置的位置。遍历数组,如果数不为0,那么交换它开始元素的位置,并使flag++。
class Solution {
public void moveZeroes(int[] nums) {
int flag=0;
for(int i=0;i<nums.length;i++){
if(nums[i]!=0){
int temp=nums[i];
nums[i]=nums[flag];
nums[flag]=temp;
flag++;
}
}
}
}
大约 3 分钟