1.定义一个数组,把操作后的元素存在数组中。
import java.util.Arrays;
//把数组中的零全部后移
public class arrZero {
public static int[] arrzero(int[] arr) {
int[] arr1 = new int[arr.length];
int temp = arr.length-1;
int temp1 = 0;
for(int i=0;i<arr.length;i++) {
if(arr[i] == 0 ) {
arr1[temp] = arr[i];
temp--;
}else {
arr1[temp1]=arr[i];
temp1++;
}
}
return arr1;
}
public static void main(String[] args) {
int [] a = {1,0,3,0,8,0,7};
System.out.println(Arrays.toString(arrZero.arrzero(a)));
}
}
2.不创建数组
package cn.newcode;
import java.util.Arrays;
//把数组中的零全部后移
public class arrZero {
public static int[] arrzero(int[] arr) {
int temp;
for(int i=0;i<arr.length-1;i++) {
for(int j=i+1;j<arr.length;j++) {
if(arr[i] == 0) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
public static void main(String[] args) {
int [] a = {1,0,3,0,8,0,7};
System.out.println(Arrays.toString(arrZero.arrzero(a)));
}
}