前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 1089. 复写零

LeetCode 1089. 复写零

作者头像
村雨遥
发布2020-04-29 09:22:48
3750
发布2020-04-29 09:22:48
举报
文章被收录于专栏:JavaPark

题目

1089. 复写零[1]

描述

给你一个长度固定的整数数组 arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。

注意:请不要在超过该数组长度的位置写入元素。

要求:请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。

示例 1:

输入:[1,0,2,3,0,4,5,0] 输出:null 解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4] 示例 2:

输入:[1,2,3] 输出:null 解释:调用函数后,输入的数组将被修改为:[1,2,3]

解题思路

  1. 遍历数组,对元素进行判断是否为 0;
  2. 若为 0,将当前索引位置后的元素整体向后移,超出数组长度的直接舍弃;
  3. 同时将当前索引位的后一位复写为 0;
  4. 将索引位置 +1,从而跳过复写位;

实现

代码语言:javascript
复制
package Array;

/**
 * Created with IntelliJ IDEA.
 * Version : 1.0
 * Author  : cunyu
 * Email   : cunyu1024@foxmail.com
 * Website : https://cunyu1943.github.io
 * 公众号   : 村雨遥
 * Date    : 2020/4/27 下午1:44
 * Project : LeetCode
 * Package : Array
 * Class   : OneZeroEightNine
 * Desc    : 1089. 复写零
 */
public class OneZeroEightNine {
    public static void main(String[] args) throws Exception {
        int[] arr = {1, 0, 3};
        duplicateZeros(arr);
    }

    /**
     * 1089. 复写零
     * @param arr 等待复写的数组
     */
    public static void duplicateZeros(int[] arr) {
        // 遍历数组,在遇见 0 之后,将后边的元素整体向后移,超出数组长度的直接舍弃,同时将当前索引位置的后一位置为 0
        for (int i = 0; i < arr.length - 1; i++) {
            // 判断当前位置是否为 0, 若是则将后边元素后移
            if (arr[i] == 0) {
                for (int j = arr.length - 2; j >= i; j--) {
                    arr[j + 1] = arr[j];
                }
                // 将当前索引的后一位复写为 0
                arr[i + 1] = 0;
                // 索引位置 +1,从而跳过复写位
                i++;
            }
        }
    }
}

❝文章会优先发布在 「公众号」「个人博客」,欢迎关注; 腾讯云社区:https://cloud.tencent.com/developer/user/6209990 ❞

Reference

[1]

1089. 复写零: https://leetcode-cn.com/problems/duplicate-zeros/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 村雨遥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 描述
  • 解题思路
  • 实现
    • Reference
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档