三七互娱2019秋招Java后端开发工程师
三、简答题
2.给定一个整数的数组,要求将数组中的所有为0的元素移动到数组的最后,其他的元素保持原来的顺序。
示例
数组{ 1, 5, 0, 0 ,2,19,0}移动后{ 1, 5, 2,19,0,0,0}
package com.test;
public class Main {
public static void main(String[] args) {
int[] a = {1, 5, 0, 0, 2, 19, 0};
for (int i = 0; i < 7; i++) {
if (a[i] == 0) {
/**
* 如果a[i]==0,从数组的末尾取数,并且j>i,交换
*/
for (int j = 6; j > i; j--) {
if (a[j] != 0) {
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
}
for (int i = 0; i < 7; i++) {
System.out.print(a[i] + " ");
}
}
}