文章目录
移动零
题目地址:283. 移动零 – 力扣(LeetCode) (leetcode-cn.com)
思路:双指针,定义一个变量j,遍历数组中的元素,如果碰到元素不为0,且i!=j,索引i的值赋给j,索引i的元素初始化为0,j最后自增1
class Solution {
public void moveZeroes(int[] nums) {
int j=0;
for(int i=0;i<nums.length;i++){
if(nums[i]!=0){
if(i!=j){
nums[j]=nums[i];
nums[i]=0;
}
j++;
}
}
}
}
另个方法:遍历数组,如果元素不为0,定义一个临时变量,交换索引i和索引j的值,最后j自增1
class Solution {
public void moveZeroes(int[] nums) {
int j=0;
for(int i=0;i<nums.length;i++){
if(nums[i]!=0){
int temp=nums[j];
nums[j]=nums[i];
nums[i]=temp;
j++;
}
}
}
}
代码均由力扣编译器,提交通过,描述编写不当地方还请大家评论区指出💪!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/140732.html