public class Main {
public static void main
(String args
[]) { int[] a = new int[]{6, 0, 8, 2, 3, 0, 4, 0, 1};
moveZerosToEnd(a);
for (int c : a) {
}
}
private static void moveZerosToEnd(int[] a) {
int z = -1;
for (int i = 0; i < a.length; i++) {
int c = a[i];
if (c == 0 && z == -1) {
z = i;
continue;
}
if (c != 0 && z != -1) {
swap(a, i, z);
z++;
}
}
}
private static void swap(int[] a, int i, int j) {
int x = a[i];
a[i] = a[j];
a[j] = x;
}
}
cHVibGljIGNsYXNzIE1haW4gewoJCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmcgYXJnc1tdKSB7CiAgICAgICAgaW50W10gYSA9IG5ldyBpbnRbXXs2LCAwLCA4LCAyLCAzLCAwLCA0LCAwLCAxfTsKICAgICAgICBtb3ZlWmVyb3NUb0VuZChhKTsKICAgICAgICBmb3IgKGludCBjIDogYSkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KGMgKyAiICIpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcHJpdmF0ZSBzdGF0aWMgdm9pZCBtb3ZlWmVyb3NUb0VuZChpbnRbXSBhKSB7CiAgICAgICAgaW50IHogPSAtMTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaW50IGMgPSBhW2ldOwogICAgICAgICAgICBpZiAoYyA9PSAwICYmIHogPT0gLTEpIHsKICAgICAgICAgICAgICAgIHogPSBpOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGMgIT0gMCAmJiB6ICE9IC0xKSB7CiAgICAgICAgICAgICAgICBzd2FwKGEsIGksIHopOwogICAgICAgICAgICAgICAgeisrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgCiAgICBwcml2YXRlIHN0YXRpYyB2b2lkIHN3YXAoaW50W10gYSwgaW50IGksIGludCBqKSB7CiAgICAgICAgaW50IHggPSBhW2ldOwogICAgICAgIGFbaV0gPSBhW2pdOwogICAgICAgIGFbal0gPSB4OwogICAgfQp9Cg==