无法播放?请 点击这里 跳转到Youtube
切换视频源:
题目链接: https://leetcode.com/problems/remove-duplicates-from-sorted-array/
GitHub答案链接: https://github.com/turingplanet/leetcode-answers
Set解法
class Solution {
public int removeDuplicates(int[] nums) {
Set<Integer> set = new LinkedHashSet<>();
for (int x : nums) {
set.add(x);
}
int index = 0;
for (int x : set) {
nums[index++] = x;
}
return set.size();
}
}
Two Pointers解法
class Solution {
public int removeDuplicates(int[] nums) {
int slow = 0, fast = 0;
while (fast < nums.length) {
nums[slow] = nums[fast++];
while (fast < nums.length && nums[fast] == nums[slow]) {
fast++;
}
slow++;
}
return slow;
}
}