WX>Нужно на каждой итерации подсчитывать единицы после последнего заменного нуля? Все равно тогда понадобится 2-й цикл, и будет квадратичная сложность.
Количество нулей и единиц ты и так знаешь: хранишь в переменных, inc/dec при движении одного из указателей.
Оба указателя условно проходят весь массив -> 2N ~= O(N)