private static void flushNoneZerosLeft(int[] numbers)
    {
        if(numbers.length <= 0)
            return;

        int start = 0;
        int end = numbers.length-1;

        while(start < end)
        {
            if(numbers[start] == 0 && numbers[end] != 0)
            {
                int temp = numbers[start];
                numbers[start] = numbers[end];
                numbers[end] = temp;
                start++;
                end--;
            }
            else
            {
                start = (numbers[start] != 0) ? start+1 : start;
                end = (numbers[end] == 0) ? end-1 : end;
            }
        }
    }