题目描述:
给定一个数组
nums
,编写一个函数将所有0
移动到数组的末尾,同时保持非零元素的相对顺序。
使用java来实现
class Solution {
public void moveZeroes(int[] nums) {
int count = 0;
for(int i = 0;i < nums.length;i++){
if(nums[i] != 0){
int ss = nums[i];
nums[i] = 0;
nums[count] = ss;
count += 1;
}
}
}
}
解题思路:
题目要求是将0元素后移,也就是将非零元素前移,同时还要保证顺序
那么就从头遍历,设置一个计数器(用来记录当前非零元素到第几个了),遇到一个非零元素,就把他放在计数器的位置,这样只用遍历一遍就可以完成了