zoukankan      html  css  js  c++  java
  • 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.

    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.
    public void MoveZeroes(int[] nums) {
             int zeroCount =0;
             foreach(var num in nums)
             {
                 if(num == 0) zeroCount++;
             }
             int index=0;
             for(int i =0;i< nums.Count();i++)
             {
                 if(nums[i] !=0)  nums[index++] = nums[i];
             }
             for(int i = index;i< nums.Count();i++)
             {
                 nums[i] = 0;
             }
            
        }
     public void MoveZeroes(int[] nums) {
             for (int i = 0, j = 0; i < nums.Count(); i++) {
                if (nums[i] !=0 ) {
                    if(i!=j) Swap(nums, i,j++);
                    else j++;
                }
            }
        }
        private void Swap(int[] nums, int i, int j)
        {
            int temp = nums[i];
            nums[i] = nums[j];
            nums[j] = temp;
        }
  • 相关阅读:
    kvm虚拟机网络管理
    kvm虚拟机存储管理
    kvm虚拟机迁移
    KVM嵌套虚拟化nested之CPU透传
    kvm认识和安装
    博客美化(二)
    日志管理
    IP分为五类
    windows(xshell)免密码登录
    mpvue的toast弹窗组件-mptosat
  • 原文地址:https://www.cnblogs.com/renyualbert/p/5904812.html
Copyright © 2011-2022 走看看