说起来这个题目真的是很简单的,但是很容易遗忘基础方法。
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;
}
}
}
}
网友评论