题解 | #调整数组顺序使奇数位于偶数前面#
调整数组顺序使奇数位于偶数前面
http://www.nowcoder.com/practice/ef1f53ef31ca408cada5093c8780f44b
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型vector
* @return int整型vector
不需要相对顺序
vector<int> reOrderArray(vector<int>& array) {
// write code here
int n=array.size();
if(n==0||n==1)
return array;
int l=0;
int r=n-1;
while(l<r)
{
while(l<r&&array[l]%2==1)
{
l++;
}
while(l<r&&array[r]%2==0)
{
r--;
}
if(l<r)
{
swap(array[l],array[r]);
}
}
return array;
}
*/
vector<int> reOrderArray(vector<int>& array) {
// write code here
//插入排序改写 遇到j为奇数而j-1为偶数,就交换
for(int i=1;i<array.size();i++)
{
for(int j=i;j>=1;j--)
{
if(array[j]%2==1&&array[j-1]%2==0)
{
swap(array[j],array[j-1]);
}
}
}
return array;
}
};
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型vector
* @return int整型vector
不需要相对顺序
vector<int> reOrderArray(vector<int>& array) {
// write code here
int n=array.size();
if(n==0||n==1)
return array;
int l=0;
int r=n-1;
while(l<r)
{
while(l<r&&array[l]%2==1)
{
l++;
}
while(l<r&&array[r]%2==0)
{
r--;
}
if(l<r)
{
swap(array[l],array[r]);
}
}
return array;
}
*/
vector<int> reOrderArray(vector<int>& array) {
// write code here
//插入排序改写 遇到j为奇数而j-1为偶数,就交换
for(int i=1;i<array.size();i++)
{
for(int j=i;j>=1;j--)
{
if(array[j]%2==1&&array[j-1]%2==0)
{
swap(array[j],array[j-1]);
}
}
}
return array;
}
};