leetcode 123:remove-element

题目描述

给定一个数组和一个值,使用就地算法将数组中所有等于这个值的元素删除,并返回新数组的长度。

元素的顺序可以更改。你不用去关心大于当前数组长度的空间里面存储的值
题目分析:
返回只需要返回新数组的长度,并且元素顺序可以改变,因此如果数组中的值等于elem,可以替换成任何值,数组长度要减一。
代码如下:
 1 int removeElement(int A[], int n, int elem) {
 2         for(int i = 0;i < n;i++)
 3         {
 4             if(A[i] == elem)
 5             {
 6                 swap(A[i--],A[--n]);
 7             }
 8         }
 9         return n;
10     }

 

posted @ 2020-08-12 13:46  请叫我小小兽  阅读(96)  评论(0编辑  收藏  举报