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

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

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

链接力扣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))
}

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

posted @ 2022-03-10 01:10  Dancing-Pierre  阅读(11)  评论(0)    收藏  举报  来源