题目地址:[https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/)
解题思路:有了上一题的基础,看见这道题的时候,应该立刻想到双指针
法。但不同于上一题的是,这次需要将非重复元素移动到数组的开端,需要注意的点就是数组是一个有序数组,重复数字必定是相邻的,抓好这个重点,这道题就不难解了。
class Solution {
public int removeDuplicates(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int head = 0;
int tail = 1;
while (tail < nums.length) {
if (nums[head] != nums[tail]) {
nums[head + 1] = nums[tail];
head++;
} else {
tail++;
}
}
return head+1;
}
}