美文网首页程序员
力扣 27 移除元素

力扣 27 移除元素

作者: zhaojinhui | 来源:发表于2020-07-08 11:03 被阅读0次

    题意:给定一个数组,和一个数,移除数组中的给定数

    思路:

    1. 设定两个指针,一个记录当前合法的数组最后的位置end,一个记录遍历到当前数组的位置runner
    2. 遍历数组,如果当前遍历到的数字不是指定的数字,那么把它加到合法的数组最后的位置并end++并继续遍历数组,否则只继续遍历数组
    3. 遍历后,数组开头到end所指的位置即为合法数组

    思想:快慢指针

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

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

    相关文章

      网友评论

        本文标题:力扣 27 移除元素

        本文链接:https://www.haomeiwen.com/subject/ppvqcktx.html