给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]
收起
等等,我来
void moveZeroes(int[] nums) { // 0 边界处理 if (nums == null || nums.length ==0) { return; } int i = 0 ; //统计0的个数 for (int j = 0; j < nums.length; j++) { if (nums[j] == 0) i++; // 统计0的个数 else if (i != 0) { nums[j-i] = nums[j]; nums[j] = 0; } } }
报告相同问题?