Remove Element

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 public class Solution {
 2     public int removeElement(int[] A, int elem) {
 3             int B[] = new int[A.length];
 4             int length = 0 ;
 5             
 6             for(int i = 0; i < A.length;i++){
 7                 if(elem == A[i]){
 8                     continue;
 9                 }
10                 B[length++] = A[i];
11             }
12             System.arraycopy(B, 0, A, 0, B.length);
13             return length;
14             
15         }
16 }

 discuss中的

class Solution {
public:
    int removeElement(int A[], int n, int elem) {
        int index = 0;
        int tail = n - 1;

        while(index <= tail){
            if(A[index] == elem){
                A[index] = A[tail];
                tail -= 1;
            }else{
                index++;
            }     
        }

        return tail + 1;
    }
};

 

posted on 2014-11-10 20:36  luckygxf  阅读(197)  评论(0编辑  收藏  举报

导航