【LeetCode】调整数组顺序使奇数位于偶数前面 Java 题解
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。
复制代码
思路分析
今天这个算法题目是数组处理题目。数组的特点是可以利用下标来快速进行比较,交换操作。数组题目,我们使用双指针来进行快速操作。
解法一是定义了新的数组,使用首位指针,遍历每一个数组元素,区分奇偶数,然后放到对应的位置。
解法二是直接在原数组上进行操作,交换数组元素位置。实现代码如下,供参考。
通过代码
解法一
复制代码
解法二
复制代码
总结
解法一的时间复杂度是 O(n),空间复杂度是 O(n)
解法二的时间复杂度是 O(n),空间复杂度是 O(1)
坚持算法每日一题,加油!
版权声明: 本文为 InfoQ 作者【HQ数字卡】的原创文章。
原文链接:【http://xie.infoq.cn/article/9305007aa297c027941fb8b39】。文章转载请联系作者。
评论