class Solution {
public int removeDuplicates(int[] nums) {
if (nums.length <= 1) {
return nums.length;
}
// p: the rightest endpoint pointer of a non-repeating subarray
// q: the pointer to detect new non-repeating number
int p = 0;
int q = 1;
// q keeps moving until it finds a non-repeating number or reaches to the end of the array.
while (q < nums.length) {
if (nums[p] != nums[q]) {
nums[p + 1] = nums[q];
p++;
}
q++;
}
// return the length of the non-repeating "array"
return p + 1;
}
}
[LeetCode] 26. Remove Duplicates From Sorted Array
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。