【Leetcode Problem 26】之Remove Duplicates from Sorted Array

来源:互联网 发布:心力衰竭能治好吗 知乎 编辑:程序博客网 时间:2024/06/06 09:23

题目:移除数组中重复的数据,返回数组的长度。不可以开辟新的数组


思路:1.设置变量j来计算数组的长度。

           2.比较每个数组元素和前一个数组元素的值,是否相等。

          3.若不相等,则该元素不变。数组的长度加1。

        4.如此,相等的值将会被覆盖。

javascript代码如下:

/** * @param {number[]} nums * @return {number} */var removeDuplicates = function(nums) {    var len=nums.length;    var i=1;    var j=Math.min(1,len);       for(i=1;i<len;i++){    if(nums[i]!==nums[i-1]){    nums[j++]=nums[i];    }    return j;    };

法二:思路:若元素和前一个元素相等,则将该元素删除。


var removeDuplicates = function(nums) {    var len=nums.length;    var i=1;      while(i<len && nums[i]!=null){        if(nums[i]===nums[i-1]){            nums.splice(i,1);        }else{            i=i+1;        }    }    return i;   };