LeetCode 26-删除排序数组中的重复项
1. 删除排序数组中的重复项 public class RemoveDuplicates26 { /**删除排序数组中的重复项 时间复杂度:O(n) i和j最多都走n步 * 例:nums = [1,1,2], 返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 * @param nums 待排序数组 * @return 数组中不重复元素个数 */ /*方法:双指针法 * 1.开始时这两个指针都指向第一个数字 * 2.如果两个指针指的数字相同,则快指针向前走一步 * 3.如果不同,则两个指针都向前走一步 * 4.当快指针走完整个数组后,慢指针当前的坐标加1就是数组中不同数字的个数 */ public int removeDuplicates(int[] nums) { //数组为空 if (nums.length == 0) return 0; //数组不为空 int i = 0; for (int j = 1; j < nums.length; j++) { if (nums[j] != nums[i]) { i++; nums[i] = nums[j]; } } return i + 1; } } 2.双指针法原理图 3.leetCode代码测试 来源: CSDN 作者: 徒伤 链接: https://blog.csdn.net/weixin