当前位置: 代码迷 >> 综合 >> LeetCode 27 Remove Elements
  详细解决方案

LeetCode 27 Remove Elements

热度:70   发布时间:2023-10-28 04:41:47.0

思路

同向双指针。如果没遇到给定的val,就让nums[index]=nums[i],其中index为指示当前可覆盖位置的指针(慢指针),i为遍历整个数组所用的指针(快指针)。如果遇到了,就只移动i指针,直到遇到的不是val。

复杂度

时间复杂度O(n), 空间复杂度O(1)

代码

class Solution {
    public int removeElement(int[] nums, int val) {
    if(nums.length == 0)return 0;int index = 0;for(int i = 0; i < nums.length; i++) {
    if(nums[i] != val) {
    nums[index] = nums[i];index++;}}return index;}
}
  相关解决方案