1. 程式人生 > >給定一個數組 nums 和一個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度

給定一個數組 nums 和一個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度

class Solution {
public:
    int removeElement(vector<int>& nums, int val);
};
int Solution::removeElement(vector<int>& nums,int val)
{
    int count=nums.size();
    int temp;
    int NUM=0;
    if(count>0)
    {
        for(int i=0;i<count-NUM;)
    {
        if(nums.at(i)==val)
        {
            temp=nums.at(i);
            for(int j=i;j<count-1;j++)
            {
                nums.at(j)=nums.at(j+1);
            }
            nums.at(count-1)=temp;
            NUM++;
        }
            else i++;
    }
    int call=count-NUM;
    return call;
    }
    else return 0;
}