We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 9e2527e commit 145a4f1Copy full SHA for 145a4f1
algorithms/remove-element.js
@@ -1,16 +1,17 @@
1
/**
2
- * 移除元素
3
* @param {number[]} nums
4
* @param {number} val
5
* @return {number}
6
*/
7
-var removeElement = function (nums, val) {
8
- let count = 0;
9
- for (let i = 0; i < nums.length; i++) {
10
- if (nums[i] !== val) {
11
- nums[count] = nums[i];
12
- count++;
13
- }
+ var removeElement = function(nums, val) {
+ // 双指针 (快慢指针)
+ let slowIndex = 0;
+
+ for (let fastIndex = 0; fastIndex < nums.length; fastIndex++) {
+ if (val !== nums[fastIndex]) {
+ nums[slowIndex++] = nums[fastIndex];
+ }
14
}
15
- return count;
16
-};
+ return slowIndex;
17
+};
0 commit comments