蓝桥杯备赛 Day0_移动零
🎈 个人主页👉:tbRNA-CSDN博客tbRNA-CSDN博客tbRNA-CSDN博客
💯 个人简介:在校大学生一枚💋.
😍 希望我的文章对大家有着不一样的帮助,欢迎大家关注我,感谢大家的多多支持!🎉 欢迎 👍点赞 ✍评论 ⭐收藏
💫往期文章👇
单链表专题 - 增删查改
C语言初阶 --- ⾃定义类型:结构体C语言初阶 --- 内存函数
C语言初阶 --- 字符串函数
👇题目描述:
解题思路:双指针(利用数组下标来充当指针)
1. cur(初始为0):从左往右扫描数组,遍历数组
2. dest(初始为-1):已处理的区间内,非0元素的最后一个位置
如图所示👇:
运行代码👇:
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int dest = -1, cur = 0;
while(cur < nums.size())
{
if(nums[cur] == 0)
cur++;
else //处理非0元素
{
swap(nums[cur], nums[++dest]);
cur++;
}
}
}
};