博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LintCode] Move Zeroes 移动零
阅读量:6211 次
发布时间:2019-06-21

本文共 1059 字,大约阅读时间需要 3 分钟。

 

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

Notice
  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.
 
Example

Given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

 

LeetCode上的原题,请参见我之前的博客。

 

解法一:

class Solution {public:    /**     * @param nums an integer array     * @return nothing, do this in-place     */    void moveZeroes(vector
& nums) { for (int i = 0, j = 0; i < nums.size(); ++i) { if (nums[i]) { swap(nums[i], nums[j++]); } } }};

 

解法二:

class Solution {public:    /**     * @param nums an integer array     * @return nothing, do this in-place     */    void moveZeroes(vector
& nums) { int left = 0, right = 0; while (right < nums.size()) { if (nums[right]) { swap(nums[left++], nums[right]); } ++right; } }};

 

 

转载地址:http://qndja.baihongyu.com/

你可能感兴趣的文章
Myeclipes快捷键
查看>>
BZOJ 2580 [Usaco2012 Jan]Video Game
查看>>
Awstats 7.1 Beta 发布,Web 日志统计和分析
查看>>
ios开发学习-指示器(HUD)效果源码分享
查看>>
使用 windows media player
查看>>
11g的exp导出空表提示EXP-00011: SCOTT.TEST1 不存在
查看>>
php数据库操作框架php-activeRecord
查看>>
mysql 保留字 冲突
查看>>
格式文件格式bad interpreter: No such file or directory
查看>>
LibRaw 0.15.0 发布,增加75种新摄像头支持
查看>>
powerdesigner逆向工程,从数据库导出PDM
查看>>
switch语句的基本使用
查看>>
css控制同一个页面的两个表格,一个显示有边框线,而另一个没边框线
查看>>
DBCC--CHECKDB--结果收集
查看>>
Linux 线程实现机制分析--转
查看>>
转 javassist教程和示例
查看>>
非IE内核浏览器支持activex插件
查看>>
[物理学与PDEs]第5章第1节 引言
查看>>
c++ 类声明
查看>>
WebGL on iOS8 终于等到了这一天
查看>>