hello各位小伙伴们,为了进行算法的学习,小编特意新开一个专题来讲解一些算法题
1.移除元素. - 力扣(LeetCode)
本题大概意思是给定一个数组和一个数val删除与val相同的元素,不要改变剩余元素的顺序,最后返回剩余元素的个数。
我们在这里使用双指针,这里的双指针并不是创建两个指针而是两个整型变量指向同一个位置,
判断num[src]是否等于val,如果等于则让src++,否则使得num[dst] = num[src],在让src和dst的值都++。这里的dst有两个做用:记录与val相同的值,同时充当计数器!
int removeElement(int* nums, int numsSize, int val) {
int src = 0;
int dst = 0;
while(src<numsSize)
{
if(nums[src]==val)
{
src++;
}
else
{
nums[dst] = nums[src];
src+&