leetcode 热题 100_移动零

题解一:

双指针遍历:将非零的值往数组前端依次放置,将放置之后数组后端多余的位置都置为0,参考下图(来源. - 力扣(LeetCode)

java 复制代码
class Solution {
    public void moveZeroes(int[] nums) {
        int index = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != 0) {
                nums[index] = nums[i];
                index++;
            }
        }
        for (int i = index; i < nums.length; i++) {
            nums[i] = 0;
        }
    }
}

题解二:

双指针遍历:类似快速排序,以0作为参照点,将不等于0的值放到左边,将等于0的值放到右边 (二者交换),参考下图(来源. - 力扣(LeetCode)

java 复制代码
class Solution {
    public void moveZeroes(int[] nums) {
        int index = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != 0) {
                int temp = nums[i];
                nums[i] = nums[index];
                nums[index] = temp;
                index++;
            }
        }
    }
}
相关推荐
坠金15 小时前
递归、递归和回溯的区别
算法
恋爱绝缘体115 小时前
Java语言提供了八种基本类型。六种数字类型【函数基数噶】
java·python·算法
仰泳的熊猫15 小时前
题目1434:蓝桥杯历届试题-回文数字
数据结构·c++·算法·蓝桥杯
星火开发设计15 小时前
格式化输入输出:控制输出精度与对齐方式
开发语言·c++·学习·算法·函数·知识
ygklwyf15 小时前
模拟退火算法零基础快速入门
数据结构·c++·算法·模拟退火算法
XX風15 小时前
3.3 GMM (高斯混合模型)
人工智能·算法·机器学习
zy_destiny15 小时前
【工业场景】用YOLOv26实现8种道路隐患检测
人工智能·深度学习·算法·yolo·机器学习·计算机视觉·目标跟踪
怡步晓心l15 小时前
Mandelbrot集合的多线程并行计算加速
c++·算法·缓存
老鼠只爱大米16 小时前
LeetCode经典算法面试题 #114:二叉树展开为链表(递归、迭代、Morris等多种实现方案详细解析)
算法·leetcode·二叉树·原地算法·morris遍历·二叉树展开
Ivanqhz16 小时前
现代异构高性能计算(HPC)集群节点架构
开发语言·人工智能·后端·算法·架构·云计算·边缘计算