刪除有序數組中重復元素
鏈接
. - 力扣(LeetCode). - 備戰技術面試?力扣提供海量技術面試資源,幫助你高效提升編程技能,輕松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/remove-duplicates-from-sorted-array/submissions/506815716/
題目
題解
雙指針思想:異地變本地,可以先模擬將該數組元素移動到另一個新的數組時進行去重操作,我們只需要遍歷一遍數組,在遍歷時判斷是否與l指針指向的元素相同,如果相同就不移動到新的數組,如果不相同就移動到新的數組里。這樣就完成了去重操作。我們可以根據上面的思路,采用雙指針的思想在本地數組上模擬上述操作
代碼
class Solution {
public:
int removeDuplicates(vector<int>& nums) {int left = 0, right = 1;for (; right < nums.size();){if (nums[right] == nums[left]) right++;else nums[++left] = nums[right++];}return left + 1;
}
};