LeetCode 27.移除元素 C#

移除元素

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;
    }
}

LeetCode 27.移除元素 C#