[LeetCode]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.

解题思路:

使用前后两个指针ijj负责遍历数组,i复制记录当前数组长度,如果j不等于指定值,将j指向的值赋值给i++位置.

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int i = 0;
        int j = 0;
        for (; j < nums.size(); ++j) {
            if (nums[j] != val) {
                nums[i++] = nums[j];
            }
        }
        
        return i;
    }
};

  

posted @ 2015-10-03 14:00  skycore  阅读(101)  评论(0编辑  收藏  举报