解题思路
一道非常经典的入门LC题, 如果有学习过数学结构中的数组, 一定知道如何在数组中最高效的删除一个数
这道题就可以把0元素直接删除, 最后剩余的空位填补为0即可。
代码
class Solution {
public void moveZeroes(int[] nums) {
int curr = 0; //工作指针
for (int i = 0; i < nums.length; i++) {
if(nums[i]!=0)
nums[curr++] = nums[i];
}
//剩余元素设置为0
for (int i = curr; i < nums.length; i++) {
nums[i]=0;
}
}
}
leetcode 账号黑峯,题解记录贴,算法新手,有问题欢迎指正。