本文主要是介绍力扣283. 移动零,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem: 283. 移动零
文章目录
- 题目描述
- 思路
- 复杂度
- Code
题目描述
思路
1.定义一个int类型变量index初始化为0;
2.遍历nums当当前的元素nums[i]不为0时使nums[i]赋值给nums[index];
3.从index开始将nums中置对应位置的元素设为0;
复杂度
时间复杂度:
O ( n ) O(n) O(n);其中 n n n为nums的大小
空间复杂度:
O ( 1 ) O(1) O(1)
Code
class Solution {
public:/// <summary>/// Move the zero element to the end of a given array/// </summary>/// /// <param name="nums"> Given array</param>void moveZeroes(vector<int>& nums) {if (nums.empty()) {return;}int index = 0;for (int i = 0; i < nums.size(); ++i) {if (nums[i] != 0) {nums[index] = nums[i];index++;}}for (int i = index; i < nums.size(); ++i) {nums[i] = 0;}}
};
这篇关于力扣283. 移动零的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!