LeeCode-Remove Element
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 };
作者:vpoet
出处:http://www.cnblogs.com/vpoet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/vpoet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。