public int removeElement(int[] nums, int val) {
int len=nums.length;
if(len==0) return 0;
//首先排序,将元素集中在一起
Arrays.sort(nums);
//有可能val不在数组内
if(val<nums[0]||val>nums[len-1]) return len;
// if(len==1&&nums[0]==val) return 0;
//在数组内寻找值为val的数,看是否能找到
// boolean isFind=false;
for(int i=0;i<len;i++){
if(nums[i]==val){
//找到了,开始移除
// 如果val刚好是最后一个,直接返回
if(i==len-1) return len-1;
for(int j=i+1;j<len;j++){
if(nums[j]!=val){
//找到后开始移除
for(int h=j;h<len;h++){
nums[i++]=nums[h];
}
return i;
}else if(j==len-1){
return i;
}
}
}
}
// if(isFind==false){
return len;
// }
// return len;
}
leetcoade27移除元素
最新推荐文章于 2024-11-03 20:43:31 发布