题目
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.
Example:
Input: [0,1,0,3,12]Output: [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放到最后,其余数按照原有顺序放到前面。
思路
见代码。
代码实现
Java
class Solution {public void moveZeroes(int[] nums) {int p = 0, q = 0;while (q != nums.length) {if (nums[q] != 0) {int tmp = nums[p];nums[p++] = nums[q];nums[q] = tmp;}q++;}}}
