""" 零的移动 给定一个数组,将所有0移动到数组的未尾, 同时,保持非零元素的相对顺序。 必须在不复制数组的情况下进行操作。 """ def move_zero(nums): """ 将列表中的所有0移动到末尾,同时保持非零元素的相对顺序不变。 参数: nums: 一个整数列表。 该函数不返回任何值,直接在输入的列表上进行修改。 """ # 初始化左右指针,分别指向当前已排列好的非零元素的尾部和待检查的元素 length = len(nums) left = 0 right = 0 # 遍历列表,将非零元素依次放到数组的前部 while right < length: # 当遇到非零元素时,将其与左指针所指元素交换,并将左指针向后移动 if nums[right] != 0: nums[left], nums[right] = nums[right], nums[left] left += 1 right += 1 # 测试函数 arr = [0, 1, 0, 3, 12, 0, 8, 6] move_zero(arr) print(arr)
评论前必须登录!
注册