1.移除元素
方法一:双指针法
说明:创建两个变量src,dst指向数组的初始位置
若src指向的值为val,则src++
若src指向的值不是val,nums[dst] = nums[src],src++,dst++
//numsSize表示数组的长度
int removeElement(int*nums,int numsSize,int val)
{
//先创建两个变量
int src,dst;
src = dst = 0;
while(src < numsSize)
{
if(nums[src] == val)
{
src++;
}
else
{
//赋值,两指针++
nums[dst] == nums[src];
src++;
dst++;
}
}
return dst;
}
2.合并两个有序数组
方法一:将nums2中的数据依次放到 nums1数组的后面,用排序算法对num1进行排序
方法二: l1和l2比,l2>l1->l2指向的放到l3里,l3--,l2--,l2<l1->l1指向的放到l3,l1--,l3--,l2小于0时,跳出循环
l2先出循环直接结束,l1先出循环要nums2中剩余的数据放到l3,l3--,l2--