[LeetCode-Eazy] Duplicate Zeros
發現 0 就把所有數字往後挪一位,從倒數第二位開始挪到倒數第一位
再來是倒數第三位挪到倒數第二位 ....
避免覆蓋掉 0 之後的正常數字
移動完成後 i++ 跳過一位 (因為下一個 i 是我們重複的那個0)
Golang
func duplicateZeros(arr []int) {
for i := 0; i < len(arr); i++ {
if arr[i] == 0 {
for j := len(arr) - 1; j > i; j-- {
arr[j] = arr[j - 1]
}
i++
}
}
}