LeetCode----------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.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

Note:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

大概意思:把一个数组的0都放到数组末尾,其他非0数字的相对位置保持不变,不能创建一个辅助数组来实现,尽可能使操作的次数减少。

解题思路:

从左到右边遍历数组,每次找到一个非零数值则放置在数组前面,同时记录0的个数,最后补0;代码如下:

class Solution {
    public void moveZeroes(int[] nums) {
        int len=nums.length;
        int count=0;
        int n=0;
        for(int i=0;i



你可能感兴趣的:(算法与数据结构,Zeroes)