/** * Created by seven_hu on 2015/9/21. *//**Given an array nums, write a function to move all 0‘s to the end of it while maintaining the relative order of the non-zero elements. For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0]. Note:You must do this in-place without making a copy of the array.Minimize the total number of operations.Credits:Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.*** */public class Solution { public static void main(String[] args){ int[] a={0,1,0,3,12}; moveZeroes(a); for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } } public static void moveZeroes(int[] nums) { //count是用来记录数组中有多少个0 int count=0; for(int i=0;i<nums.length;i++){ if(nums[i]==0){ count=count+1; }else{ nums[i-count]=nums[i]; nums[i]=0; } } }}
时间: 2024-10-09 10:20:31