下面展示测试代码
package PowerButton;
public class Demo01 {
public static void main(String[] args) {
int[] nums = {5, 6, 6, 8, 8, 8, 9, 9};
for (int i : nums){
System.out.print(i+"");
}
int num = removeDuplicates(nums);
System.out.println(num);
for (int i = 0; i < num; i ++ ){
System.out.print(nums[i]+"");
}
}
public static int removeDuplicates(int[] nums) {
if (nums.length == 0) return 0;
int i = 0;
for (int j = 1; j < nums.length; j++) {
if (nums[j] != nums[i]) {
i++;
nums[i] = nums[j];
}
}
return i + 1;
}
}
另外一种解法(其实换汤不换药):
package PowerButton;
public class Demo01 {
public static void main(String[] args) {
int[] nums = {5, 6, 6, 8, 8, 8, 9, 9};
for (int i : nums){
System.out.print(i+"");
}
int numsSize = nums.length;
int num = removeDuplicates(nums,numsSize);
System.out.println(num);
for (int i = 0; i < num; i ++ ){
System.out.print(nums[i]+"");
}
}
public static int removeDuplicates(int[] nums, int numsSize){
int j = numsSize;
if(j > 1){
j = 1;
for(int i = 1; i < numsSize; i ++){
if(nums[i] == nums[i - 1]){
continue;
} else{
nums[j] = nums[i];
j++;
}
}
}
return j;
}
}