leetcode: Remove Duplicates from Sorted Array II [基本功]
Remove Duplicates from Sorted Array II
Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?
For example,
Given sorted array nums = [1,1,1,2,2,3],
Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.
tag: tow pointers
public class Solution {
public int removeDuplicates(int[] nums) {
if(nums == null || nums.length == 0) {
return 0;
}
if(nums.length == 1) {
return 1;
}
//初始化
int count = 1;
int pre = nums[1];
for(int i = 2; i < nums.length; i++) {
if(nums[i] != nums[i - 2]) {
nums[count++] = pre;
pre = nums[i];
}
}
//处理最后一步
nums[count++] = pre;
return count;
}
}
浙公网安备 33010602011771号