2019-03-30

第十三题:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

思路:定义两个数组,分别用来存放奇数和偶数,最后再先后放回array中。

Python:

# -*- coding:utf-8 -*-
class Solution:
    def reOrderArray(self, array):
        # write code here
        #奇数数组
        array_odd = []
        #偶数数组
        array_even = []
        for x in array:
            if x % 2 == 1:
                array_odd.append(x)
            else:
                array_even.append(x)
        array = array_odd + array_even
        return array

Java:

import java.util.ArrayList;
public class Solution {
    public void reOrderArray(int [] array) {
        ArrayList<Integer> array_odd = new ArrayList<Integer>();
        ArrayList<Integer> array_even = new ArrayList<Integer>();
        for(int i=0;i<array.length;i++){
            if(array[i] % 2 == 1)
                array_odd.add(array[i]);
            else
                array_even.add(array[i]);
        }
        for(int i=0;i < array_odd.size();i++){
            array[i] = array_odd.get(i);
        }
        for(int i=0;i < array_even.size();i++){
            array[i+array_odd.size()] = array_even.get(i);
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第十二题:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent...
    此广告牌招租啊阅读 975评论 0 0
  • 今天是周六,今天的任务是: 1.数据库作业写完(还有第六题,太长了,想找个空闲多的时间来写) 2.自习c++,看相...
    2022考研必胜阅读 3,414评论 0 0
  • 【怪谈】中国古籍中那些稀奇古怪的事儿:月亮上来的人 从古至今对于外星生物的争论从没停歇过,真真假假惹人眼球,人们...
    三人禾528阅读 2,571评论 0 0
  • 这个月的阅读主要是以牛津通识读本为主的。《数学》《我们时代的伦理学》《政治的历史和边界》《法律》,读完这四本,也仅...
    王慢慢_阅读 1,215评论 0 0
  • 《她》 【哪个她 在你心中是完美无瑕 做标榜 逐一研习临摹才最佳 白月光 水中倒影又惊炸开漩浪 供你臆想】 其实罗...
    Atropa阅读 6,923评论 0 0