Skip to content

Commit 145a4f1

Browse files
committed
27. 移除元素 (二刷)
1 parent 9e2527e commit 145a4f1

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

algorithms/remove-element.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
/**
2-
* 移除元素
32
* @param {number[]} nums
43
* @param {number} val
54
* @return {number}
65
*/
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-
}
6+
var removeElement = function(nums, val) {
7+
// 双指针 (快慢指针)
8+
let slowIndex = 0;
9+
10+
for (let fastIndex = 0; fastIndex < nums.length; fastIndex++) {
11+
if (val !== nums[fastIndex]) {
12+
nums[slowIndex++] = nums[fastIndex];
13+
}
1414
}
15-
return count;
16-
};
15+
16+
return slowIndex;
17+
};

0 commit comments

Comments
 (0)