数组去重-双指针法
题目:对一个数组中的重复元素去重,并且返回数组长度
题解:设置两个前后的指针,一个在前,一个在后,在前面那个和后面那个做对比,如果不同,说明没有遇到重复元素,右移,并且把当前值给后面那个指针
代码:
package Leetcode;
public class 双指针_数组去重 {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,4,5,6};
System.out.println(removeDuplicates(arr));
}
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[i] != nums[j]){
i++;
nums[i] = nums[j];
}
}
return i + 1;
}
}
后续持续更新LeetCode,关注下次不迷路。