做法1:可以创建一个临时数组来存储不等与0的数。
public static int [] moveZeros(int arr[]){ int temp[]= new int[arr.length]; int j=0; for (int i = 0; i <arr.length ; i++) { if (arr[i]!=0){ temp[j]=arr[i]; j++; } } for (int i = 0; i <temp.length ; i++) { arr[i]=temp[i]; } for (int i = temp.length; i <arr.length ; i++) { arr[i]=0; } return arr; }做法2:双指针,定义一个临时变量k
public static int [] moveZeros2(int arr[]){ int k =0; for (int i = 0; i < arr.length; i++) { if (arr[i]!=0){ arr[k]=arr[i]; k++; } } for (int i =k;i<arr.length;i++){ arr[i]=0; } return arr; }
