剑指offer(积累)

一直没注意可以使用makedown,爱了爱了。

21 奇偶顺序

调整顺序使奇数位于偶数前(没有要求相对位置不变)

  • 双指针
    头找偶数,尾找奇数,互换,直到头尾相遇
func exchange(nums []int) []int {
	if len(nums)==0{
		return nums
	}
	i,j:=0,len(nums)-1
	for i<j{
		//注意i和j的边界值
		for i<len(nums)&&nums[i]%2!=0{
			i++
		}
		for j>=0&&nums[j]%2!=1{
			j--
		}
		if i<j{
			nums[i],nums[j] = nums[j],nums[i]
		}
	}
	return nums
}
posted @ 2021-01-30 18:00  海拉尔  阅读(54)  评论(0编辑  收藏  举报