题目
LeetCode 27. Remove Element
思路
这道题目, 把题意读明白就好做了.
预定义的方法中要求返回int类型长度len, 但代码提交时, 却是按照 nums中[0, len)的区间输出判断的.
所以最终需要注意的是:
- O(1) 空间复杂度
- 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; } }
|