【C语言】27.移除元素【LeetCode】

简介: 测试用例输入的是你*nums指向的数组 所以要注意指针的位置

大家好,欢迎来阅读子豪的博客(LeetCode刷题篇)


大家有什么宝贵的意见或建议可以在留言区留言


如果你喜欢我的博客,欢迎 素质三连 点赞 关注 收藏


我的码云仓库:补集王子 (YZH_skr) - Gitee.com


27. 移除元素 - 力扣(LeetCode) (leetcode-cn.com)


https://leetcode-cn.com/problems/remove-element/

a3000ade901f4f4f81a1ec140a5d4b70.png


题意


1.删除 Val         2.返回新长度


解题代码


int removeElement(int* nums, int numsSize, int val)
{
    int NewSize = 0;
    int* cur = nums;
    while (numsSize)
    {
        if (*cur != val)
        {
            *nums = *cur;
            cur++;
            *nums++;
            NewSize++;
        }
        else
        {
            cur++;
        }
        numsSize--;
    }
    return  NewSize = 0;
}


思路


假如 Val 为 2


37c63133352e4357824ba13e8e681a29.png


1.遇到 Val值


就把cur往后移动一格


068e8d16fda94c0a86a2e8707fbb621c.png


然后把NewSize自加一


2.没遇到 Val值


把cur指向的值赋给nums所指向的空间


2038a69ea96c4eb7b3ff8956fe8e996c.png


然后两个都往后挪一格


8a3a95c4b94e42d1af06b25d824a4983.png


注意


1.这里题目里的numsSize是元素个数(长度),不是数组内存大小


2.测试用例输入的是你*nums指向的数组 所以要注意指针的位置


3.要多动手画图不能干靠想象做题

相关文章
|
5月前
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
56 1
|
5月前
【LeetCode 27】347.前k个高频元素
【LeetCode 27】347.前k个高频元素
59 0
|
5月前
|
程序员 C语言
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
7月前
|
存储 算法
LeetCode第83题删除排序链表中的重复元素
文章介绍了LeetCode第83题"删除排序链表中的重复元素"的解法,使用双指针技术在原链表上原地删除重复元素,提供了一种时间和空间效率都较高的解决方案。
LeetCode第83题删除排序链表中的重复元素
|
5月前
【LeetCode 06】203.移除链表元素
【LeetCode 06】203.移除链表元素
45 0
|
5月前
【LeetCode-每日一题】移除元素
【LeetCode-每日一题】移除元素
44 0
|
7月前
|
算法 索引
LeetCode第34题在排序数组中查找元素的第一个和最后一个位置
这篇文章介绍了LeetCode第34题"在排序数组中查找元素的第一个和最后一个位置"的解题方法,通过使用双指针法从数组两端向中间同时查找目标值,有效地找到了目标值的首次和最后一次出现的索引位置。
LeetCode第34题在排序数组中查找元素的第一个和最后一个位置
|
7月前
|
算法
LeetCode第27题移除元素
这篇文章介绍了LeetCode第27题"移除元素"的解题方法,通过使用双指针技巧,有效移除数组中特定值的元素并返回新数组的长度。
|
2月前
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
80 23
|
14天前
|
人工智能 Java 程序员
一文彻底搞清楚C语言的函数
本文介绍C语言函数:函数是程序模块化的工具,由函数头和函数体组成,涵盖定义、调用、参数传递及声明等内容。值传递确保实参不受影响,函数声明增强代码可读性。君志所向,一往无前!
16 1
一文彻底搞清楚C语言的函数