移动零

作者: YOLO_2a2d | 来源:发表于2021-04-07 10:03 被阅读0次

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:

必须在原数组上操作,不能拷贝额外的数组。
尽量减少操作次数。

//暴力法:找到一个零就将其往后移动

void moveZeroes(int* nums, int numsSize){

    int count=0;            ////统计零的个数
    int i=0;

    
    while(i<numsSize-count)         ////依据零的个数减少规模
    {

        if(nums[i]==0)
        {
            for(int j=i;j<numsSize-1;j++)       ////将当前位置的0值,移动到最后的位置
            {
                int t=nums[j];
                nums[j]=nums[j+1];
                nums[j+1]=t;
            }

            i=-1;           //让数据从新从头开始检测
            count++;    
        }

        i++;
    }

}

相关文章

  • 【移动零】

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 class Sol...

  • 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 说明: 必...

  • 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例:输入: [0...

  • 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [...

  • 移动零

    题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例:输...

  • 移动零

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/perf...

  • 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [...

  • 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [...

  • 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 v0.1--执行用...

  • 移动零

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 说明: 必...

网友评论

      本文标题:移动零

      本文链接:https://www.haomeiwen.com/subject/zobykltx.html