剣はオファーを指します。21奇数が偶数の前になるように配列の順序を調整します(配列の解像度)

トピック:

整数配列を入力し、すべての奇数が配列の前半にあり、すべての偶数が配列の後半にあるように、配列内の数値の順序を調整する関数を実装します。

例:

入力:nums = [1,2,3,4]

出力:[1,3,2,4] 
注:[3,1,2,4]も正解の1つです

分析:方法1:元の配列をトラバースし、新しい配列の最初と最後に結果を順番に保存します。方法2:最初に元の配列をトラバースして奇数を新しい配列に格納し、次に元の配列をトラバースして偶数を新しい配列に格納します。

ここにいる友人から「i ++と++ i」について疑問があるかもしれません。関連する知識はここで確認できます:https//blog.csdn.net/qq_44624536/article/details/115125198

方法1:

   public int[] exchange(int[] nums) {
int[] a=new int[nums.length];
          int start=0;
          int end=nums.length-1;
          for(int i=0;i<nums.length;i++){
              if(nums[i]%2==1)
              a[start++]=nums[i];
              else
              a[end--]=nums[i];
          }
          return a;
}

方法2:

 public int[] exchange(int[] nums) {
int a[]=new int[nums.length];
        int start=0;
        for(int i=0;i<nums.length;i++){
            if(nums[i]%2==1)
            a[start++]=nums[i]; 
        }
        for(int i=0;i<nums.length;i++){
            if(nums[i]%2!=1)
            a[start++]=nums[i]; 
        }
        return a;
}

 

おすすめ

転載: blog.csdn.net/qq_44624536/article/details/115124804