26. Remove Duplicates from Sorted Array
Given a sorted arraynums, remove the duplicates in-place such that each element appear only _once _and return the new length.
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
Example 1:
Given
nums = [1,1,2],
Your function should return length = 2, with the first two elements of
nums being 1 and 2 respectively.
It doesn't matter what you leave beyond the returned length.
Example 2:
Given nums = [0,0,1,1,1,2,2,3,3,4],
Your function should return length = 5, with the first five elements of nums being modified to 0, 1, 2, 3, and respectively.
It doesn't matter what values are set beyond the returned length.
class Solution {
public int removeDuplicates(int[] nums) {
if(nums == null || nums.length == 0) return 0;
int slow = 0 , fast = 0, len =1;
while(fast < nums.length){
if(nums[slow] == nums[fast]) fast++;
else{
nums[++slow] = nums[fast++];
len++;
}
}
return len;
}
}