码迷,mamicode.com
首页 > 其他好文 > 详细

283. Move Zeroes

时间:2017-07-31 20:45:59      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:www   cti   number   length   www.   creat   reverse   eve   call   

 

Given an array nums, 
write a function to move all 0s 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: You must do this in-place without making a copy of the array. Minimize the total number of operations. Credits: Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

in-place, 删除元素用快慢指针. 151. Reverse Words in a String 中in-place 去空格的方法是一样 的

public void moveZeroes(int[] nums) {
        int slow = 0;
        int fast = 0;
        while(fast < nums.length) {
            if (nums[fast] != 0) {
               
                nums[slow++] = nums[fast++];
               
            } else {
                fast++;
            }
        }
        for (int i = slow; i < nums.length; i++) {
            nums[i] = 0;
        }
    }

  

283. Move Zeroes

标签:www   cti   number   length   www.   creat   reverse   eve   call   

原文地址:http://www.cnblogs.com/apanda009/p/7265390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!