LeetCode283.移动零

这道题还是很简单的,我用的是双指针,左指针i从头开始遍历数组,右指针j是从i后面第一个数开始遍历,当左指针i等于0的时候,右指针j去寻找i右边第一个为0的数和i交换位置,交换完了就break内层循环,i往后移1位,j又从i的下一位开始,如果i不等于0,就不用进内层循环了,直接break内层,i往后移一位,这样数组的顺序没变,并且0全在后面,还是非常简单的,以下是我的代码:

java 复制代码
class Solution {
    public void moveZeroes(int[] nums) {
       int zeroNum=0;
       int n = nums.length;
       for(int i=0;i<n;i++){
           for(int j=i+1;j<n;j++){
               if(nums[i] == 0){
                   while(j<n-1 && nums[j] == 0){
                       j++;
                   }
                   nums[i] = nums[j];
                   nums[j] = 0;
               }break;
           }
          
       }
    }
}
相关推荐
码农小卡拉8 分钟前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
向上的车轮15 分钟前
为什么.NET(C#)转 Java 开发时常常在“吐槽”Java:checked exception
java·c#·.net
Dragon Wu17 分钟前
Spring Security Oauth2.1 授权码模式实现前后端分离的方案
java·spring boot·后端·spring cloud·springboot·springcloud
跳动的梦想家h23 分钟前
环境配置 + AI 提效双管齐下
java·vue.js·spring
坚持就完事了24 分钟前
Java中的集合
java·开发语言
wjhx33 分钟前
QT中对蓝牙权限的申请,整理一下
java·数据库·qt
YCY^v^37 分钟前
JeecgBoot 项目运行指南
java·学习
dazzle1 小时前
机器学习算法原理与实践-入门(三):使用数学方法实现KNN
人工智能·算法·机器学习
那个村的李富贵1 小时前
智能炼金术:CANN加速的新材料AI设计系统
人工智能·算法·aigc·cann
人间打气筒(Ada)1 小时前
jenkins基于Pipeline发布项目
java·pipeline·jenkins·流水线·ci·cd·cicd