class Solution {
public int removeDuplicates(int[] nums) {
//第一种方法
if(nums.length<3){
return nums.length;
}
int count=1;
int pre=0,cur=1;
while(cur<nums.length){
if(nums[pre]==nums[cur] && count==0) ++cur;
else{
if(nums[pre]==nums[cur]) --count;
else count=1;
nums[++pre]=nums[cur++];
}
}
return pre+1;
//第二种方法
// if (nums.length <= 2)
// return nums.length;
// int prev = 1; // point to previous
// int curr = 2; // point to current
// while (curr < nums.length) {
// if (nums[curr] == nums[prev] && nums[curr] == nums[prev - 1]) {
// curr++;
// } else {
// nums[++prev] = nums[curr++];
// }
// }
// return prev + 1;
}
}
LeetCode80. Remove Duplicates from Sorted Array II
猜你喜欢
转载自blog.csdn.net/u013244775/article/details/86490044
今日推荐
周排行