难度简单997收藏分享切换为英文接收动态反馈
给定一个数组
nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:
输入:[0,1,0,3,12]输出:[1,3,12,0,0]说明:
- 必须在原数组上操作,不能拷贝额外的数组。
- 尽量减少操作次数。
class Solution {
public void moveZeroes(int[] nums) {
int index=0;
// int count=0;
for(int i=0;i<nums.length;i++)
{
if(nums[i]!=0)
{
nums[index]=nums[i];//直接把每个数字放好,然后添加0
index++;
}
// else
// count++; 数组长度不变 不需要计算0的个数
}
for(int i=index;i<nums.length;i++)//i=index是因为放好最后一个数字后,又index++了。
nums[i]=0;
}
}
本文介绍了一个简单的算法问题——移动零。该问题要求将数组中所有零元素移至末尾,同时保持非零元素的原始顺序不变。文章提供了一个Java实现示例,并强调了解决方案需在原数组上操作且尽量减少操作次数。
1714

被折叠的 条评论
为什么被折叠?



