LeetCode(283)Move Zeroes
2015-11-26 13:50
274 查看
题目
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.For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].
Note:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.
分析
给定一个整数数组,将数组中的所有0元素,移至序列末尾,且不能改变其它非零元素的原始顺序。要求,空间复杂度为常量,不可使用辅助空间。
很简单的题目,只需遍历一次将非0元素从首位置依次赋值即可。
AC代码
class Solution { public: void moveZeroes(vector<int>& nums) { if (nums.empty()) return; int sz = nums.size(); int count = 0; for (int i = 0, k = 0; i < sz; ++i) { if (nums[i] != 0) { nums[count] = nums[i]; ++count; } continue; } while (count < sz){ nums[count++] = 0; } return; } };
GitHub测试程序源码
相关文章推荐
- python cvs文件处理脚本 python csv
- iOS开源库解析之ASIHTTPRequest
- 【经典算法】:希尔排序的实现
- Mac下安装Caffe
- github仓库的克隆、修改、上传方法(图)
- linux_shell_获取日期相关
- 使用VideoView播放、暂停、快进视频
- rk3288 GPIO Function IO description
- alarm函数使用和read函数使用讨论
- C++设计模式[十七]备忘录模式
- Fragment里面用ViewPager嵌套2个Fragment,第二次切换变成空白的解决办法
- iOS开发~CocoaPods最新使用详细说明
- iOS 滑动隐藏导航栏
- Win、Ubuntu双系统正确卸载Ubuntu系统
- RAD 10 TSearchBox
- CentOS Linux 监控安装之Nagios
- Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
- 浮点数处理
- jpa操作方法介绍
- hdoj2068RPG的错排【错排公式+组合数】