題目: LeetCode - 283. Move Zeroes

題目說明

給一個陣列,將陣列中的 0 全部都往最右邊移,而其他數字的順序不變。

解題思路

使用一個迴圈,將陣列中不是 0 的從最前面開始放,最後再把 0 補上即可。

參考解法

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int j = 0, n = nums.size();
for(int i = 0; i < n; ++i)
if(nums[i] != 0)
nums[j++] = nums[i];
while(j < n)
nums[j++] = 0;
}
};