双指针- LC283 Move Zeroes

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

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;
            }
        }
    }
}

你可能感兴趣的:(双指针- LC283 Move Zeroes)