Maximum Binary String After Change

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
class Solution:
    def maximumBinaryString(self, s: str) -> str:
        ones, zeros, n = 0, 0, len(s)
        res = ["1"] * n
        for i in range(n):
            if s[i] == '0':
                zeros += 1
            elif zeros == 0:
                ones += 1

        if ones < n:
            res[ones + zeros - 1] = '0'

        return "".join(res)