您当前的位置: 首页 > 

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

调整数组顺序使奇数位于偶数前面

IT之一小佬 发布时间:2021-03-29 19:59:20 ,浏览量:0

调整数组顺序使奇数位于偶数前面

【题目】:

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

【解题思路】:

使用双指针,一个从前往后搜索【指向偶数】,一个从后往前搜索【指向奇数】。直到两个指针重合。

def re_order_odd_even(num):
    if len(num) == 0:
        return
    first, second = 0, len(num) - 1
    while first < second:
        while first < len(num) and num[first] & 1 == 0:
            first += 1
        while second < len(num) and num[second] & 1 == 1:
            second -= 1
        if first < second:
            tmp = num[first]
            num[first] = num[second]
            num[second] = tmp
    return num


#  test
obj = re_order_odd_even([2, 1, 3, 5, 4, 6])
print(obj)

运行结果:

关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0390s