539. 移动零 冒泡双指针

给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序 样例 给出 nums = [0, 1, 0, 3, 12], 调用函数之后, nums = [1, 3, 12, 0, 0].

冒泡

把0都冒到后面去,这个没写,时间肯定是超的,也算一个思路。

双指针

一根指针遍历找不是0的元素,一根指针指向要替换位置,用不是0的元素把对应的位置一一替换,然后在后边补零。

 void moveZeroes(vector<int>& nums) {
        size_t i=0;
        for(size_t j=0;j<nums.size();j++)
        {
            if(nums[j]!=0)
            {
                nums[i]=nums[j];
                i++;
            }
        }
        for(;i<nums.size();i++)
        {
            nums[i]=0;
        }
        // write your code here
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Script Boy (CN-SIMO)

Qt Quick编程(1)——QML的核心部分ECMAScript

说道QML,不得不先说一下ECMAScript: ECMAScript语言的标准是由Netscape、Sun、微软、Borland等公司基于JavaScript...

4350
来自专栏Python研发

JavaScript

JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应的代码,浏览器可以解释...

1422
来自专栏轮子工厂

2. C语言 -- printf 的花式操作

(。・∀・)ノ゙嗨!大家好,我是呆博~很开心可以在这里给接着大家分享我的 C 语言学习笔记~因为微信对于代码块的支持并不是很好,所以代码部分以截图形式呈现,如果...

3377
来自专栏Micro_awake web

JavaScript实现八大内部排序算法

? 注:基数排序中:r是关键字的基数,d是长度,n是关键字的个数 1.插入排序 基本思想:在序号i之前的元素(0到i-1)已经排好序,本趟需要找到i对应的元素...

2439
来自专栏史上最简单的Spring Cloud教程

一篇RxJava友好的文章(三)

组合操作符 继上一篇讲述了过滤操作符,这一篇讲述组合操作符,组合操作符可用于组合多个Observable。组合操作符相对于过滤操作符要复杂很多,也较难以理解,需...

3635
来自专栏闻道于事

Java之分支和循环

Java中的分支语句: if语句: if语句的四种写法:   (1)   if(表达式_布尔值) {   ...   }   (2)   if(表达式_布...

3089
来自专栏jojo的技术小屋

原 三、基本概念

作者:汪娇娇 时间:2017年11月4日 一、语法 1、区分大小写 2、标识符 指变量、函数、属性的名字,采用驼峰大小写格式。 3、注释 单行:// 多行:/*...

2605
来自专栏Golang语言社区

Go 语言数据类型

在 Go 编程语言中,数据类型用于声明函数和变量。 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充...

3197
来自专栏黑泽君的专栏

java基础学习_基础语法(上)03_day04总结

============================================================================= ==...

921
来自专栏chenjx85的技术专栏

leetcode-80-删除排序数组中的重复项 II

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。

1371

扫码关注云+社区

领取腾讯云代金券