LintCode - 移动零(普通)

版权声明:本文为博主原创文章,未经博主允许不得转载。

难度:容易
要求:

给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序

注意事项
1.必须在原数组上操作
2.最小化操作数

样例

给出 nums = [0, 1, 0, 3, 12], 调用函数之后, nums = [1, 3, 12, 0, 0].

思路

public class Solution {
    /**
     * @param nums an integer array
     * @return nothing, do this in-place
     */
    public void moveZeroes(int[] nums) {
        // Write your code here
        int j = 0;
        for(int i = 0; i < nums.length; i++){
            if(nums[i] != 0){
                nums[j++] = nums[i];
            }
        }
        
        for(; j < nums.length; j++){
            nums[j] = 0;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,532评论 25 708
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,776评论 0 33
  • 题目 给一个数组 nums 写一个函数将0移动到数组的最后面,非零元素保持原数组的顺序 ** 注意事项1.必须在原...
    六尺帐篷阅读 1,683评论 0 2
  • 给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序注意事项1.必须在原数组上操作...
    DayDayUpppppp阅读 203评论 0 0
  • 一. “可是,不能因为他,我就放弃学习技能的机会啊。” Z认真地对我说。 两个月前的某个晚上,我和Z在楼梯上坐到了...
    青一时玖阅读 372评论 0 0