剑指 Offer 21. 调整数组顺序使奇数位于偶数前面【双指针】
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
示例:
1 | 输入:nums = [1,2,3,4] |
提示:
0 <= nums.length <= 50000
1 <= nums[i] <= 10000
解题思路
方法:双指针
双指针:left从左往右,right从右往左,分别找到偶数、奇数,交换两数的位置,直到left和right相遇为止,使得奇数都在偶数前面。
注:改变了奇数偶数的相对位置顺序。
代码实现
1 | class Solution21 { |
复杂度分析
时间复杂度:O(n)
空间复杂度:O(1)
资源
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面【双指针】
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.