[LeetCode] Move Zeroes
来源:互联网 发布:ddos攻击代码python 编辑:程序博客网 时间:2024/05/19 06:15
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.
解题思路
用两个指针i,j分别指向0和非零,当j指向非零时,交换两个指针所指向的元素,并且i向前走一步;j则每次循环无论是否交换都向前走一步。
实现代码
C++:
// Runtime: 20 msclass Solution {public: void moveZeroes(vector<int>& nums) { int i = 0; int j = 0; while (j < nums.size()) { if (nums[j] != 0) { swap(nums[i], nums[j]); i++; } j++; } }};
Java:
// Runtime: 1 mspublic class Solution { public void moveZeroes(int[] nums) { int i = 0; int j = 0; while (j < nums.length) { if (nums[j] != 0) { if (j != i) { int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; } i++; } j++; } }}
0 0
- leetcode 283: Move Zeroes
- leetcode - Move Zeroes
- Leetcode: Move Zeroes
- LeetCode - Move Zeroes
- LeetCode-Move Zeroes
- [LeetCode]Move Zeroes
- leetcode-283-Move Zeroes
- [leetcode 283]Move Zeroes
- LeetCode---Move Zeroes
- LeetCode 283----Move Zeroes
- LeetCode Move Zeroes
- LeetCode Move Zeroes
- Leetcode #283 Move Zeroes
- leetcode: (283) Move Zeroes
- [LeetCode 283] Move Zeroes
- 【LeetCode】Move Zeroes
- LeetCode-Move Zeroes
- [LeetCode] Move Zeroes
- 中国2015新互联网公司300强系列
- SpringMVC+MySQL出现编码问题解决思路
- Linux学习笔记之学习网站
- nginx url转发的一种方式
- PrintStream打印流
- [LeetCode] Move Zeroes
- JSP,Servlet,JSF 的区别
- android 之输入法
- hibernate的Transaction接口理解
- 修改WSAD的默认工作区(转)
- Replacement for deprecated sizeWithFont: in iOS 7?
- linux下更改ip地址方法
- 数据链路层HDLC与PPP协议
- easyui对话框注意的地方