https://leetcode-cn.com/problems/move-zeroes/
需要注意的点
- python 没有自加,https://www.runoob.com/note/24457, https://www.runoob.com/python/python-func-id.html
- 该题用到了快慢指针
```python
class Solution(object):
def moveZeroes(self, nums):
""":type nums: List[int]:rtype: None Do not return anything, modify nums in-place instead."""index = self.removeElement(nums, 0)# 将数组index后面的元素赋0while index < len(nums):nums[index] = 0index += 1return nums
def removeElement(self, nums, val):
"""
快慢指针, 快指针总是在增加,
慢指针只有在符合条件的时候才增加
"""
fast = 0
slow = 0
while fast < len(nums):
# slow 符合条件才增加,该题条件是 当fast != val
if nums[fast] != val:
nums[slow] = nums[fast]
slow += 1
# fast 总是增加
fast += 1
return slow
```python
class Solution(object):
def moveZeroes(self, nums):
"""
:type nums: List[int]
:rtype: None Do not return anything, modify nums in-place instead.
"""
# index = self.removeElement(nums, 0)
fast = 0
slow = 0
while fast < len(nums):
# slow 符合条件才增加,该题条件是 当fast != val
if nums[fast] != 0:
nums[slow] = nums[fast]
slow += 1
# fast 总是增加
fast += 1
while slow < len(nums):
nums[slow] = 0
slow += 1
return nums
def removeElement(self, nums, val):
"""
快慢指针, 快指针总是在增加,
慢指针只有在符合条件的时候才增加
"""
pass
