LeetCode面试经典150题—02 移除元素


思路

  • 更新数组

    遍历数组,遇到了等于 val 的元素就移除,然后维护更新数组。

    代码如下:

public static int removeElement(int[] nums, int val) {
        int ans = nums.length;
        for (int i = 0; i < ans; i++) {
            if (nums[i] == val) {
                for (int j = i; j < ans - 1; j++) {
                    nums[j] = nums[j + 1];
                }
                ans--;
                i--;
            }
        }
        return ans;
    }

  • 双指针交换

    设置左右双指针,左指针遍历数组元素,遇到需要移除的元素就交换到数组后面(右指针指向元素),因此右指针初始指向数组末尾,交换后逐渐前移

    代码如下:

public static int removeElement(int[] nums, int val) {
        int left = 0, right = nums.length - 1;
        while (left <= right) {
            if (nums[left] == val) {
                nums[left] = nums[right];
                right--;
            } else {
                left++;
            }
        }
        return left;
    }

相关推荐

  1. LeetCode 面试经典150 27.元素

    2023-12-11 02:06:02       21 阅读
  2. leetcode面试经典150】2.元素(C++)

    2023-12-11 02:06:02       10 阅读
  3. 面试经典 150 ---- 元素

    2023-12-11 02:06:02       38 阅读
  4. 面试经典150——元素

    2023-12-11 02:06:02       15 阅读
  5. 力扣经典150第二元素

    2023-12-11 02:06:02       16 阅读
  6. 【力扣经典面试】27. 元素

    2023-12-11 02:06:02       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-11 02:06:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-11 02:06:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-11 02:06:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-11 02:06:02       20 阅读

热门阅读

  1. Linux C语言 41-进程间通信IPC之共享内存

    2023-12-11 02:06:02       37 阅读
  2. Linux-实现没有血缘关系的进程之间的通信

    2023-12-11 02:06:02       35 阅读
  3. 【力扣】160.相交链表

    2023-12-11 02:06:02       38 阅读
  4. 关于 UbuntuServer 的一些配置

    2023-12-11 02:06:02       32 阅读
  5. SpringBootAdmin设置邮件通知

    2023-12-11 02:06:02       34 阅读
  6. 顺序表的应用

    2023-12-11 02:06:02       37 阅读
  7. 力扣119双周赛

    2023-12-11 02:06:02       40 阅读
  8. 力扣面试150题 | 轮转数组

    2023-12-11 02:06:02       45 阅读
  9. 智能化缺陷检测系统的发展趋势

    2023-12-11 02:06:02       47 阅读
  10. Android 13 - Media框架(22)- ACodecBufferChannel

    2023-12-11 02:06:02       25 阅读
  11. LeetCode 2048. 下一个更大的数值平衡数

    2023-12-11 02:06:02       42 阅读
  12. Linux结束程序运行的命令

    2023-12-11 02:06:02       35 阅读