LeetCode 283. Move Zeroes

来源:互联网 发布:apache linux ab 工具 编辑:程序博客网 时间:2024/05/03 23:48

解题思路:

用两个指针i和j分别指向零和非零,当j指向非零的时候,交换两个指针所指向的数字,并且使i向前移动;而当j指向0的时候,i则不动;j每次循环都要向前移动;

如图:



Java:
public class Solution {
    public void moveZeroes(int[] nums) {
        int i = 0;
        int j = 0;
        while (j < nums.length) {
            if (nums[j] != 0) {
                if (j != i) {
                    int temp = nums[i];
                    nums[i] = nums[j];
                    nums[j] = temp;
                }
                i++;
            }
            j++;
        }
    }
}







0 0
原创粉丝点击