Remove Element

package cn.edu.xidian.sselab.array;

/**
 *
 * @author zhiyong wang
 * title:Remove Element
 * content:
 * 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.
 *
 */
public class RemoveElement {

    //这个题与MoveZeroes是相同的思路,MoveZeroes是将所有的0移动到数组的最后面,
    //而本题目是将val值全被替换掉,此时的val换成0,就跟MoveZeroes是完全一样的题目了
    public int removeElement(int[] nums, int val){
        int length = nums.length;
        int count = 0;
        for(int i=0;i<length;i++){
            if(nums[i] == val){
                count++;
            }else{
                nums[i-count] = nums[i];
            }
        }
        return length - count;
    }
}

原文地址:https://www.cnblogs.com/wzyxidian/p/5061983.html