1. 程式人生 > >LeetCode-陣列移出元素與刪除重複項,返回操作後的陣列長度

LeetCode-陣列移出元素與刪除重複項,返回操作後的陣列長度

移出元素
給定 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; } };