Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn‘t matter what you leave beyond the new length.
1 class Solution { 2 public: 3 int removeElement(vector<int>& nums, int val) 4 { 5 if(nums.size()<1) 6 return 0; 7 8 if(nums.size()==1&&nums[0]==val) 9 return 0; 10 11 while(nums[nums.size()-1]==val) 12 { 13 nums.pop_back(); 14 } 15 16 vector<int>::iterator iter; 17 for(iter=nums.begin();iter!=nums.end();) 18 { 19 if(*iter==val) 20 iter=nums.erase(iter); 21 else 22 iter++; 23 24 } 25 26 return nums.size(); 27 } 28 };
时间: 2024-11-05 11:35:46