283. Move Zeroes python3
2018-12-12 本文已影响0人
cca1yy
题目翻译:给定一个array nums,写一个函数将array中所有的0都移到末尾,同时保持所有非零元素的相对顺序。
注:直接在array内部修改顺序,而不能将其复制。最小化操作的总次数。
题目思路1:使用两个指针 l, r 构成一个滑动窗口,检查指针 l 之前的元素nums[l - 1]看其是否为0,若为0,则滑动窗口内的元素依次向前移动一位,滑动窗口的末位赋值为0,同时滑动窗口的长度要减1。若nums[l - 1]不等于0,则滑动窗口后移一位并缩短滑动窗口的长度。
代码如下:
思路2:依次检查nums中的每一个元素,若元素不等于0,则从初始位l = 0向后依次赋值,之后再根据nums的长度将数组用0补齐。--这种方法时间复杂度为o(n).