zoukankan      html  css  js  c++  java
  • 面试题14 调整数组顺序使奇数位于偶数前面

    题目描述

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
     
     1 class Solution {
     2 public:
     3     void reOrderArray(vector<int> &array) {
     4         if (array.size() == 0)
     5             return;
     6         int i = 0, j = array.size() - 1;
     7         vector<int> v1, v2;
     8         
     9         for (int i = 0; i < array.size(); i++){
    10             if (array[i] % 2 != 0)
    11                 v1.push_back(array[i]);
    12             else
    13                 v2.push_back(array[i]);
    14         }
    15         int k = 0;
    16         for (int j = 0; j < v1.size(); j++){
    17             array[k] = v1[j];
    18             k++;
    19         }
    20         for (int j = 0; j < v2.size(); j++){
    21             array[k] = v2[j];
    22             k++;
    23         }
    24     }
    25 };
     
     1 class Solution {
     2 public:
     3     void reOrderArray(vector<int> &array) {
     4         if (array.size() == 0)
     5             return;
     6         int i = 0, j = array.size() - 1;
     7         while (j > i){
     8             if (array[i] % 2 != 0)
     9                 i++;
    10             if (array[j] % 2 == 0)
    11                 j--;
    12             if (array[i] % 2 == 0 && array[j] % 2 != 0){
    13                 int temp = array[i];
    14                 array[i] = array[j];
    15                 array[j] = temp;
    16             }
    17         }
    18     }
    19 };
  • 相关阅读:
    可以自己设计和定的报表工具!
    金山词霸取词冲突
    SSRS 2008 Domain User Issue
    第一次用AX2009正式版!
    顶级会议及期刊
    Python基础常识
    Ubuntu系统下查看安装的CUDA和CUDNN的版本
    js内字符串转数组的基本方法
    JavaScript之逻辑分支
    JS入门
  • 原文地址:https://www.cnblogs.com/wanderingzj/p/5352509.html
Copyright © 2011-2022 走看看