当前位置:   article > 正文

LeetCode283.移动零

LeetCode283.移动零

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

  1. class Solution {
  2. public void moveZeroes(int[] nums) {
  3. int zeroNum=0;
  4. int n = nums.length;
  5. for(int i=0;i<n;i++){
  6. for(int j=i+1;j<n;j++){
  7. if(nums[i] == 0){
  8. while(j<n-1 && nums[j] == 0){
  9. j++;
  10. }
  11. nums[i] = nums[j];
  12. nums[j] = 0;
  13. }break;
  14. }
  15. }
  16. }
  17. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/385455
推荐阅读
相关标签
  

闽ICP备14008679号