首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【LeetCode100】--- 4.移动零【复习回顾】

【LeetCode100】--- 4.移动零【复习回顾】

作者头像
用户11288958
发布2025-07-18 15:15:29
发布2025-07-18 15:15:29
1410
举报
文章被收录于专栏:学习学习

题目传送门

方法一:使用双指针

代码语言:javascript
复制
class Solution {
    public void moveZeroes(int[] nums) {
        int n = nums.length;

        for(int left = 0,right = 0; right < n; right++){
            if(nums[right] != 0){
                int temp = nums[left];
                nums[left++] = nums[right];
                nums[right] = temp;
            }
        }
        
    }
}

重要思想: 通过双指针: 将数组划分为3个区间: [0,left-1] : 不为0元素 [left,right-1]:全为0元素 [right,n-1]: 待定元素

算法思维导图

复杂度分析:

时间复杂度: O(n),n为数组元素的个数。 空间复杂度: O(1),算法只使用了常数级的额外空间(仅交换元素时使用的临时变量temp),因此空间复杂度为常数。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目传送门
  • 方法一:使用双指针
  • 算法思维导图
  • 复杂度分析:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档