标签:判断 数据 int 顺序 函数 示例 简单 移动 代码
给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入:[0,1,0,3,12]
输出:[1,3,12,0,0]
说明:
思路:
1,头一看,思路很简单,直接后移就可以了。判断一下数据,如果为0 就循环向后移动。
2,思路也对,就是判断少了,如果连续两个0呢?立马歇菜。
代码:
public void moveZeroes(int[] nums) {
int i ,y =0;
for (i =0; i <nums.length ; i++) {
if (nums[i] != 0) {
nums[y] = nums[i];
y++;
}
}
if(y != nums.length){
for (int j = y; j <nums.length ; j++) {
nums[j] = 0;
}
}
}
最后一个小时的时间没有写出来,后来想想不能如此的耽误时间了,这本来就是简单的算法,为什么我做的如此困难,参考了别人的思路,然后写出了上面的代码。头疼。不会更笨了吧。
标签:判断 数据 int 顺序 函数 示例 简单 移动 代码
原文地址:https://www.cnblogs.com/liutian1912/p/9360355.html