leetcode283 : Move Zeroes
来源:互联网 发布:淘宝女鞋正品 编辑:程序博客网 时间:2024/06/05 15:07
1、原题如下
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.
2、解题如下
class Solution {public: void moveZeroes(vector<int>& nums) { int count=0; vector<int> a(nums.size()); for(int i=0;i<nums.size();i++) { if(nums[i]!=0) { a[count]=nums[i]; count++; } } for(int i=0;i<nums.size();i++) { if(i<count) {nums[i]=a[i];} else {nums[i]=0;} } }};
但后来发现还有一个限定条件,即不可使用copy函数,所以一下为其他写法;
class Solution {public: void moveZeroes(vector<int>& nums) { int size=nums.size(); int count(0); vector<int>::iterator pos; pos=find(nums.begin(),nums.end(),0); while(pos!=nums.end())//每次找到容器中的第一个0,并通过迭代器将其移除; { nums.erase(pos); count++; pos=find(nums.begin(),nums.end(),0); } for(int i=0;i<count;i++)//补0操作 { nums.push_back(0); } }};
0 0
- leetcode283 : Move Zeroes
- [LeetCode283]Move Zeroes
- leetcode283 Move Zeroes
- LeetCode283. Move Zeroes
- leetcode283: Move Zeroes
- Leetcode283. Move Zeroes
- leetcode283~Move Zeroes
- leetcode283. Move Zeroes
- LeetCode283. Move Zeroes 解答
- leetcode283. [Array]Move Zeroes My Submissions Question
- LeetCode283——Move Zeroes我的解法
- leetcode283---Move Zeroes(把0移到数组后面)
- Leetcode283 Move Zeros
- LeetCode283——Move Zeroes(将0移动到数组最后面)
- Move Zeroes
- Move Zeroes
- Move Zeroes
- Move Zeroes
- HDU 4545 魔法串(西山居挑战赛)
- 【RMAN】数据库备份之冷备份
- GitHub for Windows 安装失败,An error occurred attempting to install github 的解决办法
- 拷贝数据库到沙盒
- HDU 1015 Safecracker
- leetcode283 : Move Zeroes
- 地图的使用(定位)
- 如果要查找%'或'_',则需要使用关键字ESCAPE定义一个转义符号
- MVC3 Html.DropDownList使用方法总结
- OpenGL几何变换
- C++ Primer 学习笔记与思考_11 try..catch语句及相关疑点
- S-functions
- 折腾CentOS--让linux启动后自动进入图形界面或文本界面
- 死锁