双指针- LC283 Move Zeroes

2017-11-09  本文已影响0人  风烨

说起来这个题目真的是很简单的,但是很容易遗忘基础方法。

The main propose of this question is Two Pointer method. The first pointer is used to identify if current values is Zero or not, and the following pointer will record the position of the earliest zero before the first pointer.

public class Solution {
    public void moveZeroes(int[] nums) {
        for(int i = 0, lastZeroPosition = 0; i < nums.length; i++ ){
            if( nums[i] != 0 ){
                nums[lastZeroPosition] = nums[i];
                if(lastZeroPosition++ < i) nums[i] = 0;
            }
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读