给定整型数组, 把所有的偶数放到数组前面, 把所有奇数放到数组后面.
解题思路:
(1)设置left和right分别指向第一个元素的下标和最后一个元素的下标。
(2)left从左往右找,找到第一个奇数;right从右往左找,找到第一个偶数;然后交换两个元素的位置。循环即可。
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr={1,2,3,4,5,6};
System.out.println(Arrays.toString(transform(arr)));
}
public static int[] transform(int[] a){
int left=0;
int right=a.length-1;
while(left<right){
//该循环结束,left指向一个奇数
while(left<right&&a[left]%2==0){
left++;
}
//该循环结束,right指向一个偶数
while(left<right&&a[right]%2!=0){
right--;
}
/// 交换两个元素的位置
int temp=a[left];
a[left]=a[right];
a[right]=temp;
}
return a;
}
}
给定两个整型数组, 交换两个数组的内容.
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] a={1,3,5};
int[] b={2,4,6};
swap(a,b);
}
public static void swap(int[] a,int[] b){
for(int i=0;i<a.length;i++){
int temp=a[i];
a[i]=b[i];
b[i]=temp;
}
System.out.println("a:"+Arrays.toString(a));
System.out.println("b:"+Arrays.toString(b));
}
}