zoukankan      html  css  js  c++  java
  • LeetCode:移动零【283】

     LeetCode:移动零【283】

    题目描述

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

    示例:

    输入: [0,1,0,3,12]
    输出: [1,3,12,0,0]

    说明:

    1. 必须在原数组上操作,不能拷贝额外的数组。
    2. 尽量减少操作次数。

    题目分析

       黑色指针表示循环过程,即从头到尾。蓝色指针表示要填的第N个数

       黑色指针一直走,遇到非0的就将它填到N位置(初始为0,每次填写后递增)。然后如果黑色指针到达末尾,蓝色指针后面的都变更为0.

      

    Java题解

    public class Solution {
        public void moveZeroes(int[] nums) {
            int index=0;
            for(int i=0;i<nums.length;i++)
            {
                if(nums[i]!=0)
                    nums[index++]=nums[i];
            }
            while(index<nums.length)
                nums[index++]=0;
        }
    }
  • 相关阅读:
    多表查询
    Java基础
    group by 和 having 用法
    多态
    修改用户权限
    集成测试过程
    系统测试
    软件验收测试通过准则
    性能测试、负载测试、压力测试的区别
    白盒测试
  • 原文地址:https://www.cnblogs.com/MrSaver/p/9677344.html
Copyright © 2011-2022 走看看