package com.example.demo;
public class Test26 {
/**
* 使用双指针方法,定义两个指针,head / last 头和尾,将last位置的值和head位置的值比较,如果同则head++,不同则将head位置
* 的值赋值给++last之后的位置
*
* @param nums
* @return
*/
public int removeDuplicates(int[] nums) {
int head = 1;
int last = 0;
while (head <= nums.length - 1) {
if (nums[head] == nums[last]) {
head++;
} else {
nums[++last] = nums[head];
head++;
}
}
return last + 1;
}
public static void main(String[] args) {
Test26 t = new Test26();
int[] arr = {1, 1, 2, 3, 4, 4, 5};
int i = t.removeDuplicates(arr);
System.out.println(i);
}
}