移动零[数组]
作者:
正经龙 | 来源:发表于
2018-10-10 16:30 被阅读0次
题目描述
题目
实现思路
- 从前往后遍历数组,直到发现一个0
- 从0的位置开始向后寻找非零数
- 发现一个非零数就与之前保存的0的位置互换
- 记录对换之后的位置,下次寻找非零数在当前位置的后一位开始查找
代码部分
class Solution {
public void moveZeroes(int[] nums) {
int lastj = 0;
int j = 0;
for(int i = 0;i<nums.length;i++){
if(nums[i]==0){
if(lastj != 0)
j = lastj+1;
else
j = i+1;
while(j<=nums.length-1){
if(nums[j]!=0){
nums[i] = nums[j];
nums[j] = 0;
lastj = j;
break;
}
j++;
}
}
if(lastj == nums.length-1)
return;
}
}
}
通过情况

屏幕快照 2018-10-10 16.29.14.png
本文标题:移动零[数组]
本文链接:https://www.haomeiwen.com/subject/otxmaftx.html
网友评论