LeetCode系列之 (JavaScript) => 26. 删除有序数组中的重复项
题目描述:
【self】: 题干的内容是在一个有序的数组内,去除重复元素 ; 要求改变的原有数组,并且返回不重复元素的个数
解题思路分析:
这个题目最好的解决思路是用快慢指针,但是需要考虑这两个指针分别代表的含义;
判断当前数和它的后一个数是否相等,相等就后移一个数,并且接着判断后移的数和它后边的数是否相等,然后一直循环下去。不相等就将后一个数保存起来,并且长度加 1,然后结束循环。
不同解法:
/**
* @param {number[]} nums
* @return {number}
*/
//self:
//解题思路:
// 投机取巧,想要用Map类型,使用Map自带的方法和属性,以此来判断重复的元素
// map的key记录的是不重复的元素,value 记录的是索引号,如果现有map里不存在该元素,添加到map
var removeDuplicates = function(nums) {
var map = new Map();
var j = 0;
for(var i = 0; len = nums.length, i
参考链接:
- 26. Remove Duplicates from Sorted Array · leetcode
- JS数据类型之Map (详细解释了Map 类型自带的属性和方法以及使用)