LintCode-删除元素

题目描述:

  给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。

  元素的顺序可以改变,并且对新的数组不会有影响。

样例

  给出一个数组 [0,4,4,0,0,2,4,4],和值 4

  返回 4 并且4个元素的新数组为[0,0,0,2]

 1 public class Solution {
 2     /** 
 3      *@param A: A list of integers
 4      *@param elem: An integer
 5      *@return: The new length after remove
 6      */
 7     public int removeElement(int[] A, int elem) {
 8        int originLength = A.length;
 9         for (int i = 0; i < originLength; i++) {
10             if (A[i] == elem) {
11                 originLength--;
12                 if (i != A.length - 1) {
13                     for (int j = i; j < A.length - 1; j++) {
14                         A[j] = A[j + 1];
15                     }
16                 }
17                 i--;
18             }
19         }
20         
21         
22         return originLength;
23     }
24 }
原文地址:https://www.cnblogs.com/xiaocainiao2hao/p/5364628.html