/**
* 移除元素,同样利用快慢指针,同时从下标0开始交换,
* 此题不需要考虑元素是否该交换,否则会陷入误区。
* 交换的意义在于,j!=val时,i指针在统计数组元素不等于val的个数,细细品
* 还有一个重点在于,当j的元素等于val时,i下标的元素,先交换,然后i+1,
* @param nums
* @param val
* @return
*/
public static int removeElement(int[] nums, int val) {
System.out.println(Arrays.toString(nums));
int i = 0;
int j = 0;
System.out.println("i="+i+"|j="+j+"|val="+val);
while (j<nums.length){
System.out.println("nums["+i+"]="+nums[i]+"|nums["+j+"]="+nums[i]+"|val="+val);
if(nums[j] != val){
nums[i] = nums[j];
i++;
System.out.println(Arrays.toString(nums));
}
j++;
}
return i;
}
移除元素-27
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 公众号:爱写bug 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除...
- 27. 移除元素 Description 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于...
- 题目:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度...