[leetcode]Move zeros 慢方法和快方法
2015-09-20 14:08
375 查看
慢方法
快方法
class Solution { public: void moveZeroes(vector<int>& nums) { for(int i = 0;i != nums.size();++i){ if(nums[i] == 0){ for(int j = i + 1;j != nums.size();++j){ if(nums[j] != 0){ change(nums[i],nums[j]);break;} } } } } private: void change(int& a,int& b){ int tem = a; a = b; b = tem; } };
快方法
class Solution { public: void moveZeroes(vector<int>& nums) { size_t pos = 0; for(size_t i = 0;i != nums.size();++i){ if(nums[i] != 0) nums[pos++] = nums[i]; } for(;pos != nums.size();++pos) nums[pos] = 0; } };
相关文章推荐
- android error while loading shared libraries: libstdc++.so.6
- 为jframe窗口设置背景图片
- 联想输入插件--AutoComplete
- PHP5 各版本维护时间
- 【NOIP2012】火柴排队 逆序对数
- WatchOS 2 app 与 Iphone app 数据交互(三1)覆盖式后台传输
- Matlab与C++混合编程(依赖OpenCV)
- 单例模式
- 主机电源所有接口详解
- ReactJS 知识简介
- 使用ATL创建简单ActiveX控件(三) —— 添加连接点
- hdu 4964 Emmet()模拟
- 数据库范式——通俗易懂
- iOS开发 - NSURLSession简单介绍及POST、GET请求案例
- 超炫Android-ConvenientBanner轻松实现广告头效果
- 黑马程序员-------NSString 学习
- iOS Navigation+TabBar简单框架
- hdu 4734 F(x)
- 23设计模式之抽象工厂(Abstract Factory)
- 2015Android移动开发应用主流菜单模式