leetcode26——刪除陣列中重複的項
阿新 • • 發佈:2018-11-29
給定一個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 O(1) 額外空間的條件下完成。
給定陣列 nums = [1,1,2],
函式應該返回新的長度 2, 並且原陣列 nums 的前兩個元素被修改為 1, 2。
你不需要考慮陣列中超出新長度後面的元素。
class Solution { public int removeDuplicates(int[] nums) { //思想:陣列問題一般用雙指標 if(nums.length==0) return 0; if(nums.length==1) return 1; int first=0; int last=1; int count=1; while(last<nums.length){ if(nums[first]==nums[last]){ last++; }else{ count++; first++; nums[first]=nums[last]; last++; } } return count; } }