[LeetCode, 리트코드] Remove Duplicates from Sorted Array
- 카테고리 없음
- 2018. 11. 25. 14:35
반응형
1. Problem
주어진 정수 배열이 주어질 때, 배열에 있는 중복된 수를 제거하고 중복이 제거된 상태의 배열의 크기를 반환하는 함수를 작성하라.
c++에서는 iterator를 사용해서 중복된 vector의 요소를 제거하는 코드를 작성하면 된다. 유의해야할 것은 erase 메서드는 해당하는 iterator를 삭제할 경우 삭제된 바로 그 다음 요소를 가르키는 iterator를 반환하게 된다는 사실이다.
3. Code
class Solution { public: int removeDuplicates(vector<int>& nums) { vector<int>::iterator it = nums.begin(); vector<int>::iterator prev = nums.begin(); while(it != nums.end()){ if(it == nums.begin()){ it++;; } else if(*prev != *it){ prev++; it++; } else { it = nums.erase(it); } } return nums.size(); } };
반응형
이 글을 공유하기