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;
           }
          
       }
    }
}
相关推荐
期待のcode几秒前
性能监控工具
java·开发语言·jvm
Chan168 分钟前
【 微服务SpringCloud | 方案设计 】
java·spring boot·微服务·云原生·架构·intellij-idea
漫随流水8 分钟前
leetcode算法(513.找树左下角的值)
数据结构·算法·leetcode·二叉树
浪扼飞舟18 分钟前
C#(多线程和同步异步)
java·开发语言
hanqunfeng24 分钟前
(三十三)Redisson 实战
java·spring boot·后端
2301_7806698624 分钟前
字符集及其编码、解码操作、IO流分类
java·开发语言
计算机毕设指导627 分钟前
基于微信小程序的运动场馆服务系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
冰暮流星39 分钟前
javascript的switch语句介绍
java·前端·javascript
有梦想的攻城狮39 分钟前
Java中的Double类型的存在精度丢失详解
java·开发语言·bigdecimal·double
囊中之锥.43 分钟前
机器学习算法详解:DBSCAN 聚类原理、实现流程与优缺点分析
算法·机器学习·聚类