剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

暴力

扫描,遇见偶数,拿出来,把后面的数字往前移一位,刚拿出来的偶数放在最后

O(n2)

头尾指针

left遇见奇数跳过,遇见偶数停下

right遇见偶数跳过,遇见奇数停下

互相交换,继续下一次循环

class Solution {
   public int[] exchange(int[] nums) {
       int left = 0,right = nums.length-1,tmp=0;
       while(left<right)
      {
           while(left<right && nums[left]%2!=0)
          {
               left++;
          }
           while(left<right && nums[right]%2==0)
          {
               right--;
          }
           tmp=nums[left];
           nums[left]=nums[right];
           nums[right]=tmp;
      }
       return nums;
  }
}

 

posted @ 2021-11-05 19:00  渴望成为大佬的菜鸡  阅读(22)  评论(0)    收藏  举报