【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++语言版
    在这里插入图片描述

相关内容

热门资讯

原创 中... 联合国的最新表态令人精神一振,这种明确态度其实本就顺理成章。台湾自古属于中国,这是铁一般的事实,中国...
花800元就能买自己的死亡证明... 花800元就能买到 本人的精神诊断报告和死亡证明? 近日,“假证定制”业务 在多个电商和社交平台 死...
智能平台支撑政策落地 实达集团... 11月17日,福建省发展和改革委员会网站发布《福建省数据管理局关于印发〈福建省数据流通交易管理办法(...
祥明智能:制定对外投资管理制度 祥明智能公告称,为规范公司及控股子公司对外投资、资产处置的程序及审批权限,建立有效控制机制保障资金运...
美国9月非农数据受政府关门扰动... 11月21日,中国银河证券发布研报对美国9月非农数据进行点评。研报指出,9月新增就业回到增长区间,失...
原创 高... 近日,随着日本政坛极端言论频频出现,尤其是汉奸石平的发声,再次引发了人们对中日关系未来走势的广泛关注...
日媒曝光:日本曾制定3套“夺岛... 据央视新闻报道,随着日本首相高市早苗涉台挑衅言论持续发酵,日本自卫队在靠近台海的岛屿加强军力部署的情...
舞蹈家黄豆豆获破格提拔,已任副... 今年4月拟破格提拔的舞蹈家黄豆豆,已有新消息。 澎湃新闻注意到,中国舞蹈家协会官网近日更新后显示,黄...
李霄鹏告别青岛海牛:战术调整与... 随着2023赛季的落幕,李霄鹏教练组已正式与青岛海牛球员告别,确认下赛季将不再继续执教。这一决定不仅...