- Array分组第二题(第一题很久之前做过了):https://leetcode.com/problems/remove-duplicates-from-sorted-array/
- 理解题意:数组去重,然后数组函数的返回值是数组的size
- 思路
- 将数组中不同的数字都放在前面,覆盖以前的数字,标记重构后数组的长度length
- 删除length之后的数字
- 遇到的坑
- 题意不明确,以为只需要返回去重构后数组的长度;其实还需要重构数组
- vector删除末尾元素pop_back
- 代码
class Solution { public: int removeDuplicates(vector<int>& nums) { int res = 0; if (nums.size() < 2) return nums.size(); for (int i = 1; i < nums.size(); i++) { if (nums[i] != nums[res]) { res++; nums[res] = nums[i]; } } for (int i = res+1; i < nums.size(); i++) nums.pop_back(); return res+1; } };
26. Remove Duplicates from Sorted Array
最新推荐文章于 2024-01-02 23:35:28 发布
