0%

LeetCode 27. 移除数组元素

题目

LeetCode 27. Remove Element

思路

这道题目, 把题意读明白就好做了.
预定义的方法中要求返回int类型长度len, 但代码提交时, 却是按照 nums中[0, len)的区间输出判断的.
所以最终需要注意的是:

  1. O(1) 空间复杂度
  2. nums中跟val不等的元素, 要往前移

    代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public int removeElement(int[] nums, int val) {
if (nums == null || nums.length == 0) {
return 0;
}

int i = 0;
int j = 0;
while (i < nums.length) {
if (nums[i] == val) {
i++;
continue;
}else{
nums[j] = nums[i];
i++;
j++;
}
}
return j;
}
}