力扣(leetcode)练习--283 移动零

简介: 力扣(leetcode)练习--283 移动零

要求:

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

示例:

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

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

说明:

必须在原数组上操作,不能拷贝额外的数组。

尽量减少操作次数。

#include <iostream>
using namespace std;
int main() {
    //定义原数组
    int nums[5]={0,1,0,3,12};
  int i = 0,j = 0;
  //在数组中循环,当数字为非0时,将此数字赋值给数组第一位nums[0]
  //循环到第二个非0数字时,赋值给数组第二位nums[1]
  //j控制数组的赋值位,赋值后j自动加一,以便下一次的循环赋值
    for(i = 0 ; i < 5; i++)
    {
        if(nums[i] != 0)
        {
            nums[j++] = nums[i];
        }
    }
    //当循环完非0数字后,将所剩的位置,全部置0
    while(j < 5)
    {
        nums[j++] = 0;
    }
    //暂时未找到输出数组的好方法,只能用循环来取数字并加格式[,,]
    cout<<"[";
    for(int k=0,m=0;k<5;k++){
        cout<<nums[k];
        //int m=0;
        if(m<4){
            cout<<",";
            m+=1;
        }
    }
    cout<<"]";
}

输出结果:

1.png

相关文章
|
4月前
|
Go
golang力扣leetcode 437.路径总和III
golang力扣leetcode 437.路径总和III
38 0
|
4月前
|
Go
golang力扣leetcode 416.分割等和子集
golang力扣leetcode 416.分割等和子集
24 0
|
4月前
|
Go
golang力扣leetcode 406.根据身高重建队列
golang力扣leetcode 406.根据身高重建队列
47 0
|
4月前
|
Go
golang力扣leetcode 699.掉落的方块
golang力扣leetcode 699.掉落的方块
23 0
|
4月前
|
Go
golang力扣leetcode 467.环绕字符串中唯一的子字符串
golang力扣leetcode 467.环绕字符串中唯一的子字符串
24 0
|
4月前
|
算法 Go
golang力扣leetcode 399.除法求值
golang力扣leetcode 399.除法求值
26 0
|
4月前
|
Go
golang力扣leetcode 347.前K个高频元素
golang力扣leetcode 347.前K个高频元素
26 0
|
4月前
|
Go
golang力扣leetcode 494.目标和
golang力扣leetcode 494.目标和
29 0
|
4月前
|
Go
golang力扣leetcode 剑指Offer II 114. 外星文字典
golang力扣leetcode 剑指Offer II 114. 外星文字典
19 0
|
4月前
|
Go
golang力扣leetcode 第 295 场周赛
golang力扣leetcode 第 295 场周赛
37 0

热门文章

最新文章