[LeetCode]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 1122 and 3. It doesn't matter what you leave beyond the new length.

题解:不能超过2个重复的数,用一个标记来标识。

code:

public class Solution {
    public int removeDuplicates(int[] nums) {
      if( nums == null || nums.length == 0)
			return 0;
		int index=0, flag=0;
		
		for(int i=1; i<nums.length; i++){
			if(nums[i] == nums[i-1] && flag ==0){
				index++;
				flag = 1;
			}else if(nums[i] != nums[i-1]){
				index++;
				flag = 0;
			}
			nums[index] = nums[i]; 
		}
		return index+1;
    }
}


你可能感兴趣的:([LeetCode]Remove Duplicates from Sorted Array II)