首页 > 代码库 > LeetCode Remove Duplicates from Sorted Array删除整型数组中的重复元素并返回剩下元素个数
LeetCode Remove Duplicates from Sorted Array删除整型数组中的重复元素并返回剩下元素个数
1 class Solution { 2 public: 3 int removeDuplicates(int A[], int n) { 4 int *s=&A[0],*e=&A[0]; //s指向开头第一个,e往后遍历相同的 5 int t,i,j=n; 6 for(i=1;i<n;i++){ 7 e++; 8 if(*s==*e) 9 j--;10 else{11 s++;12 *s=*e;13 }14 }15 return j;16 }17 };
题意:给一个整型有序数组,将其中重复的元素删除,几个相同的元素只留下一个即可,并返回共有多少种不同的元素。
思路:这是数组,所以有重复的地方就要移动后面的元素,用两个指针s和e,e用来遍历所有元素,s用来指向当前已处理过的地方,最终e会遍历到第n个,s会指向新数组的最后一个元素。
注意:没什么好注意的,这么短的代码。指针不要越界。
LeetCode Remove Duplicates from Sorted Array删除整型数组中的重复元素并返回剩下元素个数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。