1.剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
思路:插入排序,遍历数组,记录奇数的个数,当nums[i]元素为奇数时,将其一直前移,直到移动到nums[oddcount]的位置,停止移动,开始下一个循环。如果是偶数,不做操作。
class Solution { public int[] exchange(int[] nums) { int len = nums.length; int Oddcount = 0; for(int i=0;i<len;i++){ if(nums[i]%2!=0){ int j=i; while(j>Oddcount){ int Temp = nums[j]; nums[j] = nums[j-1]; nums[j-1] = Temp; j--; } Oddcount++; } } return nums; } }