题目描述
给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
示例代码
var removeDuplicates = function(nums) {
if(nums.length===0) return 0;
let slow=0,fast = 0;
while(fast<nums.length){
if(nums[fast]!==nums[slow])
{
slow++
nums[slow] =nums[fast]
}
fast++
}
return slow+1
};
解题思路
思路可以参考上一篇文章的思路
26. 删除有序数组中的重复项
思路与上一题相同,同样采用快慢指针的方法去检验节点内容是否相同,只不过这里换成了指针,同时要记得最后在返回时需要将慢指针后面的置为null,因为后面的已经是重复的了。