#177. 按符号重排数组
按符号重排数组
说明
给你一个下标从 0 开始的整数数组 ,数组长度为 偶数 ,由数目相等的正整数和负整数组成。你需要 重排 中的元素,使修改后的数组满足下述条件:
1.任意 连续 的两个整数 符号相反
2.对于符号相同的所有整数,保留 它们在 nums 中的 顺序 。
3.重排后数组以正整数开头。
重排元素满足上述条件后,返回修改后的数组。
输入格式
第一行一个偶数n(2<=n<=2*10^5)第二行n个数,空隔隔开。(1<=|num[i]|<=10^5)
输出格式
一行,满足条件数组。样例
6
3 1 -2 -5 2 -4
3 -2 1 -5 2 -4
提示
样例中的正整数是 [3,1,2] ,负整数是 [-2,-5,-4] 。重排的唯一可行方案是 [3,-2,1,-5,2,-4],能满足所有条件。
像 [1,-2,2,-5,3,-4]、[3,1,2,-2,-5,-4]、[-2,3,-5,1,-4,2] 这样的其他方案是不正确的,因为不满足一个或者多个条件。