void moveZeroes(vector<int>& nums) {
stack<int> ss;
int zerocnt=0;
for(int i=0; i< nums.size();i++){
if(nums[i]!=0){
ss.push(nums[i]);
} else
{
zerocnt++;
}
}
for(int i=nums.size()-1;i>=0;i--){
while(zerocnt!=0){
nums[i]=0;
zerocnt--;
i--;
}
int a= ss.top();
ss.pop();
nums[i]=a;
}
}

本文介绍了一种使用栈实现的C++算法,该算法用于将向量中的所有零元素移至末尾,同时保持非零元素的相对顺序。通过遍历向量并利用栈来暂存非零元素,最后将零元素填充到向量尾部,实现了向量的有效整理。
864

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



