283. Move Zeroes
Posted stiles
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了283. Move Zeroes相关的知识,希望对你有一定的参考价值。
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.
Solution: make a queu and coun the number of 0 or use two pointers clerverly(think aboun the logic)
class Solution { public void moveZeroes(int[] nums) { //two pointers, move zero to the end of the array, we surely know how many 0 we have, int j = 0; for(int i = 0; i<nums.length; i++){ //if there is 0 j will not inncrease, will increase if(nums[i] != 0){//not 0 nums[j] = nums[i]; // move ele[i] to ele[j] j++;//move to next } } for(int i = j; i<nums.length; i++){ nums[i] = 0; } } }
以上是关于283. Move Zeroes的主要内容,如果未能解决你的问题,请参考以下文章