Remove Element
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
思路:此题和26题一脉相承,算法上不难,详细如代码所看到的:
public class Solution {
public int removeElement(int[] nums, int val) {
int len = nums.length;
int tempLen = len;
int step = 0;//每个元素须要向前转移的距离
for(int i = 0; i < len; i++){
if(nums[i] == val){
step++;//若相等步长+1
tempLen--;//每个相等的元素长度降低1
}else{
nums[i-step] = nums[i];//元素前移n个步长
}
}
return tempLen;
}
}
浙公网安备 33010602011771号