简单题:
解题思路:
1,插入排序(O(n))
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int size = nums.size();
int index=0;
for(int i=0;i<size;i++)
{
if(nums[i]!=0)
nums[index++]=nums[i];
}
for(int i=index;i<size;i++)
nums[i]=0;
}
};2,冒泡
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int size = nums.size();
for(int i=0;i<size;i++)
{
for(int j=0;j<size-i;j++)
{
if(j+1<size-i&&nums[j]==0&&nums[j+1]!=0)
swap(nums[j],nums[j+1]);
}
}
return;
}
};

本文介绍了两种处理数组中零元素移位问题的方法:插入排序法和冒泡排序法。通过具体的C++代码实现展示了如何将所有非零元素移动到数组前面,并将零元素放置在数组后面,同时保持非零元素的相对顺序不变。
423

被折叠的 条评论
为什么被折叠?



