题目分析:一次遍历数组,找到0的元素删除,然后再在末尾补上0即可
C++:
void moveZeroes(vector<int>& nums) {
int len = nums.size();
for (int i = 0; i < len; i++){
if (nums[i] == 0){
nums.erase(nums.begin() + i); //删除找到的0
nums.push_back(0); //在末尾再添0
i--;
len--;
}
}
}
Python:
def moveZeroes(nums: List[int]) -> None:
n = nums.count(0) #0的个数
while n > 0:
nums.remove(0)
nums.append(0)
n -= 1
本文介绍了一种在C++和Python中高效移除数组中零元素的方法,通过一次遍历即可完成操作,同时保持了数组的原始顺序。在C++中,使用erase和push_back函数实现;在Python中,利用count和remove方法完成。
407

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



