调整数组顺序使奇数位于偶数前面
调整数组顺序使奇数位于偶数前面
https://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593?tpId=13&&tqId=11166&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
先算出奇数的个数,然后再分数组中的位置进行重新填充(需要克隆一个新数组)
public void reOrderArray(int [] array) { if(array.length <= 1) return; int cnt = 0; /*记录奇数的个数*/ for(int i = 0; i < array.length; i++){ if((array[i]&1) != 0) cnt++; } int q = 0,h = cnt; int[] copy = array.clone(); for(int i = 0; i < copy.length; i++){ if((copy[i]&1) != 0){ array[q] = copy[i]; q++; }else{ array[h] = copy[i]; h++; } } }
剑指offer 文章被收录于专栏
为刷过的每一道题都书写一篇题解,便于重复练习~