描述

题目要求,去除数字数组中的重复元素,要求不能增加额外的数组或者对象空间使用,改变原来的数组,并返回改变之后的数组的长度。 解题思路:利用了数组寻找元素的指针是否为当前元素为依据,当当前元素的指针不等于数组中寻找元素的指针时,代表元素重复,则数组中删除该元素,并且将数组循环长度-1,当前的循环指针-1.

代码

  1. /**
  2. * @param {number[]} nums
  3. * @return {number}
  4. */
  5. var removeDuplicates = function(nums) {
  6. for(let i=0,len=nums.length;i<len;i++){
  7. if(nums.indexOf(nums[i]) !== i){
  8. nums.splice(i,1)
  9. len = len - 1
  10. i= i-1
  11. }
  12. }
  13. return nums.length
  14. };