283. 移动零python
时间: 2023-08-25 11:17:54 浏览: 110
python 零基础学习篇linux命令(一)5 拷贝 移动文件和目录.mp4
要将一个列表中的所有零元素移动到列表末尾,可以使用双指针的方法进行操作。以下是一个示例代码实现:
```python
def moveZeroes(nums):
# 定义两个指针,一个用于遍历列表,另一个用于记录非零元素的位置
i = j = 0
# 遍历列表,将非零元素依次向前移动,并更新非零元素的位置指针
while i < len(nums):
if nums[i] != 0:
nums[j] = nums[i]
j += 1
i += 1
# 将剩余位置上的元素置为零
while j < len(nums):
nums[j] = 0
j += 1
# 测试样例
nums = [0, 1, 0, 3, 12]
moveZeroes(nums)
print(nums) # 输出: [1, 3, 12, 0, 0]
```
在上述示例中,我们定义了一个`moveZeroes`函数,它接受一个列表`nums`作为输入。通过使用两个指针`i`和`j`,我们遍历列表`nums`并将非零元素向前移动,并更新非零元素的位置指针`j`。最后,我们将剩余位置上的元素置为零。在测试样例中,列表`nums`为`[0, 1, 0, 3, 12]`,经过函数处理后,列表变为`[1, 3, 12, 0, 0]`,所有的零元素都被移动到了列表的末尾。
阅读全文