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