思路: 首先判断正负数的个数 哪个多,用少的那个去“插入”多的那个
void rerange(vector<int> &A) {
// write your code here
sort(A.begin(),A.end());
int mi=0,ma=0;
for(int i=0;i<A.size();i++)
{
if(A[i]<0)
{
mi++;
}
}
ma=A.size()-mi;
if(mi>ma)
{
for(int i=1,j=A.size()-1;i<j;i+=2,j-=2)
{
swap(A[i],A[j]);
}
}
else if(ma>mi)
{
for(int i=0,j=A.size()-2;i<j;i+=2,j-=2)
{
swap(A[i],A[j]);
}
}
else if(mi==ma)
{
for(int i=0,j=A.size()-1;i<j;i+=2,j-=2)
{
swap(A[i],A[j]);
}
}
}