zoukankan      html  css  js  c++  java
  • 283 Move Zeroes 移动零

    给定一个数组 nums, 编写一个函数将所有 0 移动到它的末尾,同时保持非零元素的相对顺序。
    例如, 定义 nums = [0, 1, 0, 3, 12],调用函数之后, nums 应为 [1, 3, 12, 0, 0]。
    注意事项:
        必须在原数组上操作,不要为一个新数组分配额外空间。
        尽量减少操作总数。
    详见:https://leetcode.com/problems/move-zeroes/description/

    Java实现:

    class Solution {
        public void moveZeroes(int[] nums) {
            for(int i=0,j=0;i<nums.length;++i){
                if(nums[i]!=0){
                    swap(nums,i,j++);
                }
            }
        }
        private void swap(int[] nums,int i,int j){
            int tmp=nums[i];
            nums[i]=nums[j];
            nums[j]=tmp;
        }
    }
    

    C++实现:

    class Solution {
    public:
        void moveZeroes(vector<int>& nums) {
            for(int i=0,j=0;i<nums.size();++i)
            {
                if(nums[i])
                {
                    swap(nums[i],nums[j++]);
                }
            }
        }
    };
    

     参考:https://www.cnblogs.com/grandyang/p/4822732.html

  • 相关阅读:
    绘制八卦阵
    绘制奥运五环
    绘制渐变的圆
    实验报告
    大学排名
    第一条爬虫
    自己的第一个网页
    科学计算与可视化
    类和正则表达(自动更正 代数运算)
    预测比赛
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8762902.html
Copyright © 2011-2022 走看看