c#数组移除同一个值

数组移除数据,需要循环覆盖的方法。

可以快慢双指针。循环一遍。

public int RemoveElement(int[] nums, int val) {
        int n=nums.Length;       
        int low=0;
      for(int i=0;i<n;i++)
      {
        if(nums[i]!=val)
        {
           nums[low] =nums[i];  
           low++;                     
        }          
      }
       return  low;
    }

  

遍历数组需要循环两个。

public int RemoveElement(int[] nums, int val) {
        int n=nums.Length;
        int k=n;
      for(int i=0;i<k;i++)
      {
        if(nums[i]==val)
        {
            k--;
            for(int j=i;j<k;j++)
            {
              nums[j]=nums[j+1];
            }  
            i--;              
        }          
      }
       return  k;
    }

  

 

posted @ 2024-05-04 21:36  yinghualeihenmei  阅读(13)  评论(0编辑  收藏  举报