LeetCode 283题解

AC 通过

public class LeetCode283 {
    
    public void moveZeroes(int[] nums) {
        int k = 0; // nums[0-k] 存储的是  前面k 个不等于 0 的数
        for(int i = 0; i < nums.length; i++){
            if(nums[i]!=0){
                if (k != i) {
                    // 0 1 2 0 当遍历 到1 时 k 还是0 0 1 交换后是 1 0 此时 k =1
                    int tmp = nums[i];
                    nums[i] = nums[k];
                    nums[k] = tmp;
                } else {
                    k++;
                }
            }
        }
    }

    /**
     * @param i
     * @param j
     */
    private void swap(int i, int j) {
        int tmp = i;
        i = j;
        j = tmp;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        
        int[] nums = new int[]{0,1,0,3,12};
        new LeetCode283().moveZeroes(nums);
        for(int i = 0; i < nums.length;i++){
            System.out.print(nums[i]+" ");
        }
    }

}

wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.89元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值