# Duplicate Zeros

{% code title="duplicateZero.py" %}

```python
class Solution:
    def duplicateZeros(self, arr: List[int]) -> None:
        """
        Do not return anything, modify arr in-place instead.
        """
        n = len(arr)
        #新增的0的个数
        zero = arr.count(0)
        for i in range(n-1,-1,-1):
            #当前index在当前新增0 的情况下没有溢出，加！
            if i + zero < n:
                arr[i+zero] = arr[i]
            #当前值为0，如果当前值其实是溢出的0，那么真正新增的0其实为zero-1
            #如果当前值没有溢出的0，之前新增的0也为zero-1，所以无论如何都是zero-1
            
            if arr[i] == 0:
                zero-=1
                #加duplicate
                if zero + i < n:
                    arr[i+zero] = 0
        return arr
            
        
```

{% endcode %}
