题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。

链接力扣Leetcode—剑指Offer—数组—21.调整数组顺序使奇数位于偶数前面.

示例 1:

输入:nums = [1,2,3,4]
输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一。

思路:遍历数组,奇数添加到a []int,偶数添加到b []int,最后append(a,b)

Go代码如下:

package main

import "fmt"

func exchange(nums []int) []int {
    n := len(nums)
    var a []int
    var b []int
    for i := 0; i < n; i++ {
        if nums[i]%2 == 1 {
            a = append(a, nums[i])
        } else {
            b = append(b, nums[i])
        }
    }
    c := append(a, b...)
    return c
}

func main() {
    a := []int{2, 16, 3, 5, 13, 1, 16, 1, 12, 18, 11, 8, 11, 11, 5, 1}
    fmt.Println(exchange(a))
}

提交截图
在这里插入图片描述


土豆
17 声望5 粉丝