标签:调整数组顺序 oid i++ insert res int 位置 array 图片
空间换时间
1 class Solution { 2 public: 3 void reOrderArray(vector<int> &array) { 4 vector<int> res1; 5 vector<int> res2; 6 for(int i=0;i<array.size();i++){ 7 if(array[i]%2==0) res2.push_back(array[i]); 8 else res1.push_back(array[i]); 9 } 10 res1.insert(res1.end(),res2.begin(),res2.end()); 11 array = res1; 12 } 13 };
时间换空间
1 class Solution { 2 public: 3 void reOrderArray(vector<int> &array) { 4 //先找第一个偶数,因为是要将偶数向后移动的 5 int length = array.size(); 6 for(int i=0;i<length;i++){ 7 if(array[i]%2==0){ 8 //在找这个偶数后面的第一个奇数 9 for(int j=i;j<length;j++){ 10 if(array[j]%2==1){ 11 int temp=array[j]; 12 while(j>i){ 13 array[j]=array[j-1]; 14 j--; 15 } 16 array[i]=temp;//此时的i位置已经是奇数了,继续下一轮i的循环 17 break; 18 } 19 } 20 } 21 } 22 } 23 };
标签:调整数组顺序 oid i++ insert res int 位置 array 图片
原文地址:https://www.cnblogs.com/pacino12134/p/11137359.html