解题思路
因为是升序,只要相邻两个元素之间进行比较。
p是指针,每比较一次:
- 结果不同,指针往后移动一位,相同则不移动。
- 结果相同,指针不动直到碰到不同情况时,此时指针往后移动一位,将nums[i]赋值到指针所指向的数组元素。
代码实现
class Solution {
public int removeDuplicates(int[] nums) {
int p=0;
for (int i = 1; i < nums.length; i++) {
if (nums[i-1]!=nums[i]){
p++;
nums[p]=nums[i];
}
}
return p+1;
}
}