题目:
算法分析:
- 优化关键:题目不需要关注除前k元素以外的部分
- 左指针等于对应值,复制右指针替代,右指针增加(左指针不变可以继续判断复制的右指针元素是否符合条件)
- 否则左指针增加
算法图解:
代码:
class Solution {public int removeElement(int[] nums, int val) {int right = nums.length -1;int left = 0;while(left <= right){if(nums[left] == val){nums[left] = nums[right];right--;}else{left++;}}return left;}
}