LeetCode-陣列移出元素與刪除重複項,返回操作後的陣列長度
阿新 • • 發佈:2018-11-28
移出元素
給定 nums = [3,2,2,3], val = 3,
函式應該返回新的長度 2, 並且 nums 中的前兩個元素均為 2。
你不需要考慮陣列中超出新長度後面的元素。
記得返回的是陣列的長度
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
if(nums.empty())
return NULL;
int num=0;
for(int i=0;i<nums.size( );i++)
{
if(nums[i]!=val)
nums[num++]=nums[i];
}
return num;
}
};
刪除重複項
給定陣列 nums = [1,1,2],
函式應該返回新的長度 2, 並且原陣列 nums 的前兩個元素被修改為 1, 2。
你不需要考慮陣列中超出新長度後面的元素。
這裡需要注意遍歷時i不能從0起,否則測試案例[0,0,0…]會沒有輸出。
記得返回的是陣列的長度
class Solution {
public:
int removeDuplicates (vector<int>& nums) {
if(nums.empty())
return NULL;
int num=1;
for(int i=1;i<nums.size();i++)
{
if(nums[i]==nums[i-1])
continue;
nums[num++]=nums[i];
}
return num;
}
};