LeetCode 27.移除元素 C#
移除元素
思路
遍历数组,遇见与val值不同的元素length++,并把这个值放在nums[length-1]处。也就是记录不需要删除的值的个数,并依次放在数组前面
题干中的“原地”,既是原地算法,可百度。返回值覆盖输入值,在这个题也就相当于直接对传进来的nums进行修改,最后返回的值也是这个nums(此题返回的是nums的长度)
代码
public class Solution {
public int RemoveElement(int[] nums, int val) {
int length=0;
for(int i=0;i<nums.Length;i++)
{
if(nums[i]!=val)
{
length++;
nums[length-1]=nums[i];
}
}
return length;
}
}