输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
方法1:冒泡排序的思路:时间复杂度是N^2;
判断只要偶数在奇数前面就交换,并且每次排好的就放在最后,逐渐沉淀下去。
func reOrderArray( array []int ) []int { // write code here if len(array) == 0 { return []int{} } sz := len(array) for i := 1; i < sz; i++ { for j := 0; j < sz - i; j++ { if array[j] % 2 == 0 && array[j + 1] % 2 == 1 { tmp := array[j] array[j] = array[j + 1] array[j + 1] = tmp } } } return array }
方法2:开辟空间换时间。
分别使用一个slice存储奇数和偶数