大家好,我是亓官劼(qí guān jié ),在【亓官劼】公眾號、CSDN、GitHub、B站等平台分享一些技術博文,主要包括前端開發、python後端開發、小程序開發、數據結構與算法、docker、Linux常用運維、NLP等相關技術博文,時光荏苒,未來可期,加油~
如果喜歡博主的文章可以關注博主的個人公眾號【亓官劼】(qí guān jié),裡面的文章更全更新更快。如果有需要找博主的話可以在公眾號後台留言,我會盡快回復消息.
本文原創為【亓官劼】(qí guān jié ),請大家支持原創,部分平台一直在惡意盜取博主的文章!!! 全部文章請關注微信公眾號【亓官劼】。
給你一個長度固定的整數數組 arr
,請你將該數組中出現的每個零都復寫一遍,並將其余的元素向右平移。
注意:請不要在超過該數組長度的位置寫入元素。
要求:請對輸入的數組 就地 進行上述修改,不要從函數返回任何東西。
示例 1:
輸入:[1,0,2,3,0,4,5,0]
輸出:null
解釋:調用函數後,輸入的數組將被修改為:[1,0,0,2,3,0,0,4]
示例 2:
輸入:[1,2,3]
輸出:null
解釋:調用函數後,輸入的數組將被修改為:[1,2,3]
提示:
1 <= arr.length <= 10000
0 <= arr[i] <= 9
class Solution:
def duplicateZeros(self, arr: List[int]) -> None:
""" Do not return anything, modify arr in-place instead. """
n = len(arr)
i = 0
while i < n:
if arr[i] == 0:
j = n -1
while i < j:
arr[j] = arr[j-1]
j -= 1
i += 1
i += 1