您的位置:首页 > 其它

【Leetcode Problem 26】之Remove Duplicates from Sorted Array

2017-08-17 16:28 381 查看
题目:移除数组中重复的数据,返回数组的长度。不可以开辟新的数组

思路: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;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: