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;
           }
          
       }
    }
}
相关推荐
難釋懷2 分钟前
初识Caffeine
java·缓存
程序员小崔日记11 分钟前
一道KMP统考真题彻底讲透:nextval与滑动距离的本质
算法·408·王道计算机考研
xiaoye-duck12 分钟前
《算法题讲解指南:动态规划算法--路径问题》--9.最小路径和,10.地下城游戏
c++·算法·动态规划
big_rabbit050213 分钟前
java面试题整理
java·开发语言
渡过晚枫21 分钟前
[第十四届蓝桥杯/java/算法]国赛A——跑步计划
算法
hanlin0324 分钟前
刷题笔记:力扣第17题-电话号码的字母组合
笔记·算法·leetcode
刺客xs27 分钟前
c++模板
java·开发语言·c++
不是株34 分钟前
算 法
数据结构·python·算法
云泽80836 分钟前
蓝桥杯算法精讲:从宏观角度重新认识递归
算法·职场和发展·蓝桥杯
自信1504130575937 分钟前
插入排序算法
c语言·数据结构·算法·排序算法