两个注意点:1.返回次数2.数组前面的数要是无重复的
(1)C语言实现
int removeDuplicates(int* nums, int numsSize) {
int count = 0;
for(int i=1;i<numsSize;i++){
if(nums[i]==nums[i-1])
count++;
else
nums[i-count] = nums[i];
}
return numsSize-count;
}
(2)C++实现
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int count = 0;
for(int i=1;i<nums.size();i++){
if(nums[i]==nums[i-1]){
count++;
}
else{
nums[i-count] = nums[i];
}
}
return nums.size()-count;
}
};
(3)java实现
public class Solution {
public int removeDuplicates(int[] nums) {
int count = 0;
for(int i=1;i<nums.length;i++){
if(nums[i]==nums[i-1]){
count++;
}
else{
nums[i-count] = nums[i];
}
}
return nums.length-count;
}
}
本文提供了三种方法来去除数组中的重复元素:C语言、C++和Java实现。通过循环遍历数组,比较相邻元素,若发现重复则跳过或调整数组元素,最终返回去重后的数组长度。
679

被折叠的 条评论
为什么被折叠?



