По условию, вроде как должен отрабатывать, однако решение отвергает! Не пойму, что ещё нужно сделать?
private boolean compressRow(int[] row){
        boolean move = false;
        for(int i = 1; i < row.length; i++){
            if(row[i] == 0) continue;
            if(row[i] != 0 && row[i-1] == 0){
                row[i-1] = row[i];
                row[i] = 0;
                move = true;
                i = 1;
            }
        }
        return move;
    }