移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

//leetcode上的数组算法题

示例:

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:

  1. 必须在原数组上操作,不能拷贝额外的数组。
  2. 尽量减少操作次数。

以下是代码:

class Solution {
  public void moveZeroes(int[] nums) {
    int temp =0;
    for(int i=0;i<5;i++){
      if(nums[i]==0){
        temp++; //0位计数器
      }else if(temp!=0){
        nums[i-temp]=nums[i]; //如果不等0就与前temp个进行移位交换
        nums[i]=0;
}

}
}
}

猜你喜欢

转载自www.cnblogs.com/ketest/p/11228763.html