题目:
移除元素,需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度
思路:
由于需要原地修改,想到的是遍历数组,当遇到数值等于val时,便与最后一位交换,并再次校验交换后的当前位置。
解答:
class Solution {
public int removeElement(int[] nums, int val) {
int n = nums.length;
for (int i = 0; i < n; i++){
if(nums[i] == val){
int temp = nums[i];
nums[i] = nums[n-1];
nums[n-1] = temp;
n = n-1;
i = i-1;
}
}
return n;
}
}