26. 删除排序数组中的重复项

image.png
image.png

双指针

  1. class Solution {
  2. // 0 位置元素固定不变,因为不管是否重复都要将0号元素放置到数组
  3. // 定义 i 从 1 开始遍历,如果 nums[j] != nums[j - 1] 则把 nums[j] 放到 i 的位置,i 再往后走一步
  4. public int removeDuplicates(int[] nums) {
  5. int i = 1;
  6. for (int j = 2; j < nums.length; j ++) {
  7. if (nums[j - 1] != nums[j]) {
  8. nums[i ++] = nums[j];
  9. }
  10. }
  11. return i;
  12. }
  13. }