Spurs

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Given input array nums = [3,2,2,3], val = 3

Your function should return length = 2, with the first two elements of nums being 2.
就是把不是3的元素往前移动至队首,再返回不是3的元素个数.
\(O(n)\) time, \(O(0)\) space.

int removeElement(vector<int> nums, int val){
	int i = 0, k = 0;
	while(i < nums.size()){
		if(nums[i] != val)
			nums[k++] = nums[i];
		i++;
	}
	return k;
}
posted on 2017-08-13 13:36  英雄与侠义的化身  阅读(94)  评论(0编辑  收藏  举报