【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.要多动手画图不能干靠想象做题

相关文章
|
22天前
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
31 1
|
29天前
【LeetCode 27】347.前k个高频元素
【LeetCode 27】347.前k个高频元素
30 0
|
26天前
|
程序员 C语言
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
30天前
【LeetCode 06】203.移除链表元素
【LeetCode 06】203.移除链表元素
28 0
|
30天前
【LeetCode-每日一题】移除元素
【LeetCode-每日一题】移除元素
30 0
|
3月前
|
存储 算法
LeetCode第83题删除排序链表中的重复元素
文章介绍了LeetCode第83题"删除排序链表中的重复元素"的解法,使用双指针技术在原链表上原地删除重复元素,提供了一种时间和空间效率都较高的解决方案。
LeetCode第83题删除排序链表中的重复元素
|
3月前
|
算法 索引
LeetCode第34题在排序数组中查找元素的第一个和最后一个位置
这篇文章介绍了LeetCode第34题"在排序数组中查找元素的第一个和最后一个位置"的解题方法,通过使用双指针法从数组两端向中间同时查找目标值,有效地找到了目标值的首次和最后一次出现的索引位置。
LeetCode第34题在排序数组中查找元素的第一个和最后一个位置
|
3月前
|
算法
LeetCode第27题移除元素
这篇文章介绍了LeetCode第27题"移除元素"的解题方法,通过使用双指针技巧,有效移除数组中特定值的元素并返回新数组的长度。
|
26天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
31 3
|
17天前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
31 10