1、 给定整型数组, 把所有的偶数放到数组前面, 把所有奇数放到数组后面;2、给定两个整型数组, 交换两个数组的内容。

给定整型数组, 把所有的偶数放到数组前面, 把所有奇数放到数组后面.

解题思路
(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));
    }
}
发布了75 篇原创文章 · 获赞 14 · 访问量 1923

猜你喜欢

转载自blog.csdn.net/qq_45328505/article/details/104266811