Leetcode每日一题 ——1089. 复写零
- 内容介绍
- 文章标签
- 相关推荐
问题描述:
1089. 复写零 - 力扣(LeetCode)
思路
- 判断最后被写入的位置:通过双指针cur(读)和 dest(写)向后扫描,模拟复写过程,确定最后一个被保留的元素位置。
- 处理越界:当最后一个 0 触发了越界(dest == n),则在末尾手动补 0,并收缩指针,防止数组越界。
- 逆向填充:从后往前将元素搬运至目标位。从后往前是核心,它确保了在覆盖旧数据前,该数据已完成备份,从而实现 O(1) 空间下的原地修改。
问题描述:
1089. 复写零 - 力扣(LeetCode)
思路
- 判断最后被写入的位置:通过双指针cur(读)和 dest(写)向后扫描,模拟复写过程,确定最后一个被保留的元素位置。
- 处理越界:当最后一个 0 触发了越界(dest == n),则在末尾手动补 0,并收缩指针,防止数组越界。
- 逆向填充:从后往前将元素搬运至目标位。从后往前是核心,它确保了在覆盖旧数据前,该数据已完成备份,从而实现 O(1) 空间下的原地修改。

