题目:
给定一个数组
nums
,编写一个函数将所有0
移动到数组的末尾,同时保持非零元素的相对顺序。
解题思路:
1.定义变量j=0;
2.遍历数组,判断如果元素nums[i]不等于0,则把nums[i]的元素放在元素j的位置,j接着往后加一位
3.直到数组遍历完,将不为0的元素排列在前面,元素0则放在后面
代码实现:
class Solution {
public void moveZeroes(int[] nums) {
int j = 0 ;
for (int i = 0; i < nums.length ; i++) {
if (nums[i]!=0){
nums[j++]=nums[i];
}
}
while (j<nums.length){
nums[j++]=0;
}
}
}