一开始是向两个for循环 然后看到是拍好序了 就可以考虑用一个for循环
解法 也就是双指针问题
/* * 一个while循环 * 因为数组是已经排好序了从小到大排序 * 只看看前一个数跟后一个数是否一样 * 如果不一样就放在第 i个数的后面 */ class Solution { public int removeDuplicates(int[] nums) { int len = nums.length; if (len == 0) return 0; int ans = 0; int n = 1; while (n < len) { if (nums[ans] != nums[n]) { ans++; nums[ans] = nums[n]; } n++; } return ans + 1; } }