欢迎光临
我们一直在努力

零的移动

"""
零的移动
给定一个数组,将所有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)
赞(0) 打赏
未经允许不得转载:创想未来 » 零的移动

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册