这篇也是凑数的 ...
题目 :
LeetCode 27.移除元素 :
27. 移除元素

分析 :
快慢指针 :
定义两个指针slow和fast,初始值都是0。Slow之前的位置都是有效部分,fast表示当前要访问的元素。
这样遍历的时候,fast不断向后移动:
- 如果nums[fast]的值不为val,则将其移动到nums[slow++]
- 如果nums[fast]的值为val,则fast继续向前移动,slow先等待

这样,前半部分是有效部分,后半部分是无效部分
解析 :
class Solution {
    public int removeElement(int[] nums, int val) {
        int slow=0;
        for(int fast = 0;fast < nums.length; fast++){
            if(nums[fast] != val){
            nums[slow++] = nums[fast];
            }
        }
        return slow;
    }
}

















