leecode-数组-27Remove Element-java

27.Remove Element 

https://leetcode.com/problems/remove-element/

看起来很简单的样子,甚至准备直接写。还是图样图森破,很多地方出了岔子。改了好半天。警醒自己!!总是想不全面。有点小难过。

  public static int removeElement(int[] nums, int val) {
    int i=0,j;
        int llength=nums.length;
       while(i<llength)//这里不要用for循环,即使用的话也不能在这里++。因为数组长度在出现相同数的时候会改变,同时nums[i]位置的数也会改变,如果++ 不能判定当前的i处是不是==val.
        {
            if(nums[i]==val)
           {	   
               for(j=i+1;j<llength;j++)
               {
                   nums[j-1]=nums[j];
               }
			  llength--;//一定是在移完数据以后再--。
            }
            else i++;//只有else的时候++ ,相等的时候,会出现数字前移,需要继续判断当前位置的数据。
			  
        }
		
        return llength;
        
    }