144. 交错正负数
中文English
给出一个含有正整数和负整数的数组,重新排列成一个正负数交错的数组。
样例
样例 1
输入 : [-1, -2, -3, 4, 5, 6]
输出 : [-1, 5, -2, 4, -3, 6]
解释 : 或者仍和满足条件的答案
挑战
完成题目,且不消耗额外的空间。
注意事项
不需要保持正整数或者负整数原来的顺序。
class Solution: """ @param: A: An integer array. @return: nothing """ ''' 大致思路: 1.自身循环替换,返回 ''' def rerange(self, A): isF = True for i in range(len(A)): if isF == True: if A[i] < 0: isF = False continue else: j = i while j < len(A): if A[j] < 0: temp = A[i] A[i] = A[j] A[j] = temp isF = False break j += 1 elif isF == False: if A[i] > 0: isF = True continue else: j = i while j < len(A): if A[j] > 0: temp = A[i] A[i] = A[j] A[j] = temp isF = True break j += 1 ##最后判断是否同符号 if len(A) > 2 and (A[-1] > 0 and A[-2] > 0) or (A[-1] < 0 and A[-2] < 0): A.insert(0,A.pop()) return A