题目
题目链接
https://leetcode.cn/problems/move-zeroes/?envType=study-plan-v2&envId=top-100-liked
解题思路
这道题的思路非常简单。计算机二级都考了很多次。记录非零数,并且把他们移到最前面,后面全部补充0。
$$时间复杂度:O(n)$$
相关代码
class Solution {
public void moveZeroes(int[] nums) {
int cnt1=0;
int cnt2=0;
int k=0;
for(int i=0;i<nums.length;i++){
if(nums[i]==0) cnt1++;
else{
cnt2++;
nums[k++] = nums[i];
}
}
for(int i=cnt2;i<nums.length;i++)nums[i] = 0;
}
}