移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时 保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0]
public static int[] moveZero(int[] nums) {
//定义两个下标的索引
int index1=0;
int index2=0;
while(index2<nums.length) {
if(nums[index2]!=0) {
nums[index1]=nums[index2];
index1++;
index2++;
}else {//该位置的数组元素为0,直接让index2的位置往前走
index2++;
}
}
//index1和index2相差的数字就是应该补齐的0的个数
for(int i=index1;i<nums.length;i++) {
nums[i]=0;
}
return nums;
}
public static void main(String[] args) {
int[] nums= {0,1,0,3,12,152,12,0,52,0};
//调用函数
int[] newNums=moveZero(nums);
//打印函数
for(int i=0;i<nums.length;i++) {
System.out.println(nums[i]);
}
}
浙公网安备 33010602011771号