package java_study.JianZhiOffer;
import org.junit.Test;
/**
* Created by ethan on 2015/6/24.
* 剑指offer No14调整数组顺序使奇数位于偶数前面
* 两个指针从两边向中间走
*/
public class No14调整数组顺序使奇数位于偶数前面 {
public void adjustOddAndEvenNumber(int[] arr){
if (arr==null) return;
int start = 0;
int end = arr.length-1;
while (start<end){
while (start<end && (arr[end]&1)==0){
end--;
}
while (start<end&&(arr[start]&1)==1){
start++;
}
int tmp = arr[start];
arr[start] = arr[end];
arr[end] = tmp;
}
}
public void print_array(int[] arr){
for (int i=0; i<arr.length; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
}
@Test
public void test(){
int[] arr = {2, 4, 3, 9, 11, 4, 9, 22, 92};
adjustOddAndEvenNumber(arr);
print_array(arr);
}
}
调整数组顺序使奇数位于偶数前面
最新推荐文章于 2023-04-11 18:14:39 发布