1. 程式人生 > >Leetcode27:Remove Element(移除陣列中指定的元素)

Leetcode27:Remove Element(移除陣列中指定的元素)

題目解析:給定一個vector<int>陣列,要求把不等於給定的val的若干個數字移動到該陣列的最前面,並返回不等於val的數字的數目。不允許另外定義陣列來運算。

我做的答案:

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int i=0,j=0;
        if(nums.empty())
            return 0;
              
        while(j<nums.size()){
            if(nums[j]!=val)
                nums[i++] = nums[j];
            j++;
        }
        
        return i;
    }
};
這道題和26題是一樣的,首先判斷是否為空陣列,不是空陣列的話就利用while迴圈來遍歷陣列,把不等於val的數字移動到最前面。