【LeetCode每日一题】——283.移动零
创始人
2025-05-29 07:12:19
0

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【解题思路】
  • 七【题目提示】
  • 八【题目进阶】
  • 九【时间频度】
  • 十【代码实现】
  • 十一【提交结果】

一【题目类别】

  • 双指针

二【题目难度】

  • 简单

三【题目编号】

  • 283.移动零

四【题目描述】

  • 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
  • 请注意 ,必须在不复制数组的情况下原地对数组进行操作。

五【题目示例】

  • 示例 1:

    • 输入: nums = [0,1,0,3,12]
    • 输出: [1,3,12,0,0]
  • 示例 2:

    • 输入: nums = [0]
    • 输出: [0]

六【解题思路】

  • 题目要把值为零的元素放到数组的后面,我们可以换个思路:将不为零的元素按照相对顺序放到数组的前面
  • 基于以上思路,我们可以定义两个指针,分别是i和j:
    • i指针:用来寻找数组中不为零的值
    • j指针:指向数组中第一个为零的位置
  • 遍历整个数组,如果i指针遇到了不为零的值,就和j指针进行交换,因为j指针一直指向数组中第一个为零的位置,所以直接交换就将数组中的不为零的元素按照相对顺序放到了数组的前面
  • 交换之后,j指针向后移动一个位置,指向下一个为零的位置,准备进行下一次交换
  • i指针继续搜索不为零的值
  • 本题不需要返回值

七【题目提示】

  • 1<=nums.length<=1041 <= nums.length <= 10^{4}1<=nums.length<=104
  • −231<=nums[i]<=231−1-2^{31} <= nums[i] <= 2^{31} - 1−231<=nums[i]<=231−1

八【题目进阶】

  • 你能尽量减少完成的操作次数吗?

九【时间频度】

  • 时间复杂度:O(n)O(n)O(n),其中nnn为传入的数组的长度
  • 空间复杂度:O(1)O(1)O(1)

十【代码实现】

  1. Java语言版
class Solution {public void moveZeroes(int[] nums) {for(int i = 0,j=0;iif(nums[i] != 0){int temp = nums[i];nums[i] = nums[j];nums[j++] = temp;}}}
}
  1. C语言版
void moveZeroes(int* nums, int numsSize)
{for(int i = 0,j=0;iif(nums[i] != 0){int temp = nums[i];nums[i] = nums[j];nums[j++] = temp;}}
}
  1. Python语言版
class Solution:def moveZeroes(self, nums: List[int]) -> None:j = 0for i in range(0,len(nums)):if nums[i] != 0:temp = nums[i]nums[i] = nums[j]nums[j] = tempj += 1
  1. C++语言版
class Solution {
public:void moveZeroes(vector& nums) {for(int i = 0,j=0;iif(nums[i] != 0){int temp = nums[i];nums[i] = nums[j];nums[j++] = temp;}}}
};

十一【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. C语言版
    在这里插入图片描述

  3. Python语言版
    在这里插入图片描述

  4. C++语言版
    在这里插入图片描述

相关内容

热门资讯

《住房租赁条例》正式公布 我国... 中国网财经7月22日讯(记者 李春晖)社会期盼已久的《住房租赁条例》(下称《条例》)昨日(21日)公...
法院通报律师侮辱诽谤办案法官:... 7月21日,湖南省邵阳市双清区人民法院发布严正声明:近期,湖南宋牧律师事务所及该所律师郑某侨在抖音平...
深圳大力推进个人破产制度创新 ... 深圳新闻网2025年7月22日讯(深圳特区报记者 张燕)陈某某和刘某某是一对夫妻,因生产经营不善等因...
前海制度创新指数连续四年全国居... 【深圳商报讯】(记者 范宏韬)近日,中山大学自贸区综合研究院发布《2024-2025年度中国自由贸易...
早读|《住房租赁条例》明确推动... ◆国务院公布《住房租赁条例》,明确推动租购同权。 事关住房租赁,两部门七问七答。 ◆首个校园配餐服...
推动加快建立租购并举的住房制度 《住房租赁条例》公布,9月15日起施行 推动加快建立租购并举的住房制度 新华社北京7月21日电 国...
深圳赛格股份有限公司关于控股孙... 本公司及董事会全体成员保证信息披露的内容真实、准确、完整,没有虚假记载、误导性陈述或重大遗漏。 深圳...
保定优化住房公积金政策助企惠民 本报讯(长城网·冀云客户端记者赵鹏伟)近日,保定市政府召开“深化改革促发展 发展成果惠民生”新闻发布...
美媒详细介绍中国“脑机接口”技... 近日,美国有线电视新闻网(CNN)在一篇报道中详细介绍了中国“脑机接口”技术的进展,称中国的这项技术...
保护公平竞争 激发市场活力(坚... 本报记者  倪  弋 徐 骏绘(新华社发) 6月27日,十四届全国人大常委会第十六次会议审议通过新...