给定一个数组num,编写一个函数,将所有0移到它的末尾,同时保持非零元素的相对顺序。
例如,给定nums = [0,1,0,3,12],在调用函数后,nums应该为[1、3、12、0、0]。
Java解决方案2
我们可以使用类似的代码来解决从有序数组I,II,Remove Element中删除重复项的问题。
public void moveZeroes(int[] nums) {
int i = 0;
int j = 0;
while (j < nums.length) {
if (nums[j] != 0) {
nums[i++] = nums[j];
}
j++;
}
while (i < nums.length) {
nums[i++] = 0;
}}
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。