2020-12-02 陣列原地去重

nzhj發表於2020-12-02

給定一個排序陣列,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。

不要使用額外的陣列空間,你必須在 原地 修改輸入陣列 並在使用 O(1) 額外空間的條件下完成。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

通過雙指標操作,將不重複的陣列移動到前面

/**
 * @param {number[]} nums
 * @return {number}
 */
var removeDuplicates = function(nums) {
    if (nums.length ===0 ) return 0;
    let i =0;
    let j = 1;
    while(j<nums.length){
        if(nums[i]===nums[j]){
            j++;
        }else{
            i++;
            nums[i]=nums[j];
            j++;
        }
    }
    return i+1;

};

相關文章