leetcode27.移除元素

这篇具有很好参考价值的文章主要介绍了leetcode27.移除元素。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【LeetCode】
🍓希望我们一起努力、成长,共同进步。
leetcode27.移除元素

👉题目链接

题目描述

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
示例一:

输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2]

示例二:

输入:nums = [0,1,2,2,3,0,4,2], val = 2
输出:5, nums = [0,1,4,0,3]

双指针解法

解题思路如下:

该函数会返回新的有效元素个数 j ,在调用该函数后可以根据返回值进行输出。在该函数中,我们通过双指针( i 和 j )实现了去除值为 val 的元素。
具体而言,我们将 i 指针从头到尾遍历数组,若遇到一个与 val 不相等的元素,就将它复制到 j 指针所指的位置,并将 j 向后移动一位;若遇到一个与 val 相等的元素,则直接跳过

int removeElement(int* nums, int numsSize, int val){
    int i=0,j=0;
    while(i<numsSize)
    {
        if(nums[i]!=val)
        {
            nums[j++]=nums[i++];
        }
        else
        {
            i++;
        }
    }
    return j;
}

leetcode27.移除元素文章来源地址https://www.toymoban.com/news/detail-451722.html

到了这里,关于leetcode27.移除元素的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode-Java:27.移除元素

    给你一个数组 nums 和一个值 val ,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组 。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回

    2024年02月05日
    浏览(32)
  • 【代码随想录-Leetcode第二题:27.移除元素】

    给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的 样例:示例 1: 解释:函数

    2024年02月14日
    浏览(51)
  • 两种解法解决 LeetCode 27. 移除元素【C++】

    1. 暴力解法 😄 创作不易,你的点赞和关注都是对我莫大的鼓励,再次感谢您的观看😄

    2024年02月09日
    浏览(33)
  • Day1 LeetCode 704.二分查找 27.移除元素

    704.二分查找 题目链接: 力扣 文章讲解: 代码随想录 视频讲解: 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili 看完随想录之后的想法 两种情况1.左闭右闭  [ ]  2.左闭右开 [ )  当定义时为左闭右闭时,while中if的条件可以

    2024年02月15日
    浏览(41)
  • 【LeetCode题目详解】(一些双指针的题目)27. 移除元素

    给你一个数组 nums   和一个值 val ,你需要 原地 移除所有数值等于  val   的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组 。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什

    2024年01月22日
    浏览(42)
  • 代码随想录第一天 | LeetCode704.二分查找,LeetCode 27.移除元素

    数组理论基础要点: 数组也是数据结构的一种, 是存放在连续内存空间上的相同类型数据的集合。 数组注意点: 数组下标都是从0开始的。 数组内存空间的地址是连续的。 因为上述两点, 数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要

    2024年02月08日
    浏览(50)
  • 看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题27移除元素) 2023.4.18

    本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删除即可,撰写本文章主要目的在于记录自己学习体会并分享给大家,全篇并不仅仅是复制粘贴,更多的是加入了自己的思考,希望读完此篇文章能真正帮助到您!!! 力扣题目链接 分析题目 整形 数组 删除元

    2024年02月04日
    浏览(44)
  • 27. 移除元素

    给你一个数组  nums   和一个值  val ,你需要  原地  移除所有数值等于  val   的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用  O(1)  额外空间并  原地 修改输入数组 。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

    2024年02月16日
    浏览(39)
  • 【数据结构】27.移除元素

    💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃 个人主页 :阿然成长日记 👈点击可跳转 📆 个人专栏: 🔹数据结构与算法🔹C语言进阶 🚩 不能则学,不知则问,耻于问人,决无长进 🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍 前言 本次博客收录在

    2024年02月15日
    浏览(46)
  • 704.二分查找 27.移除元素

    LeetCode 704 二分查找 1.左闭右开   2.左闭右闭     思路: 一(左闭右开):因为是左闭右开的区间,rigth指针的位置为待查找数组的右边界下一个位置,所以当 left right 的状态代表我们的数组还没查尽。 二(左闭右闭):因为是左闭右闭的区间,rigth指针的位置为待查找数组

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包