删除有序数组的重复项
1. 双指针定义:
- slow :慢指针,标记去重后数组的最后一个有效元素位置。
- fast :快指针,遍历整个数组,寻找新的唯一元素。
2. 核心逻辑:
- 快指针遇到与慢指针指向元素不同的值时,慢指针后移一位,将快指针的值赋给慢指针位置。
- 遍历结束后, slow + 1 即为去重后数组的长度(因为数组下标从0开始)。
3. 边界处理:空数组直接返回0,避免数组越界。
1. 双指针定义:
- slow :慢指针,标记去重后数组的最后一个有效元素位置。
- fast :快指针,遍历整个数组,寻找新的唯一元素。
2. 核心逻辑:
- 快指针遇到与慢指针指向元素不同的值时,慢指针后移一位,将快指针的值赋给慢指针位置。
- 遍历结束后, slow + 1 即为去重后数组的长度(因为数组下标从0开始)。
3. 边界处理:空数组直接返回0,避免数组越界。