[LeetCode]No.27 Remove Elements

链接: https://leetcode.com/problems/remove-element/
原题:

Given an array and a value, remove all instances of that value in place and return the new length.
Do not allocate extra space for another array, you must do this in place with constant memory.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
**Example:**Given input array *nums* = [3,2,2,3]
, *val* = 3

Your function should return length = 2, with the first two elements of *nums* being 2.

分析:
本题要求不另开辟内存给新的数组,所以只能在原先数组上进行操作,那只有循环来校验每个元素,如果不是的话,就将元素往前移动。

public class Solution {
    public int removeElement(int[] nums, int val) {
        int j=0;
        for(int i=0;i<nums.length;i++){
            if(nums[i]!=val){
                nums[j] = nums[i];
                j++;
            }
        }
        return j;
    }
}

两个变量 i, j
i用来表示循环到哪个元素
j表示替换到哪个元素
而最终要的就是新的数组长度,所以返回j即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,860评论 0 33
  • 1. 关于诊断X线机准直器的作用,错误的是()。 (6.0 分) A. 显示照射野 B. 显示中心线 C. 屏蔽多...
    我们村我最帅阅读 11,281评论 0 5
  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 18,325评论 2 36
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,924评论 18 399
  • 时间,它过得真的很快,然而,它却又能让我们安然地面对它的逝去和更新。16年转眼间远去,来不及慢慢珍惜,也来不及细细...
    占小橙阅读 360评论 0 1

友情链接更多精彩内容