当前位置:网站首页>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
2022-08-02 23:27:00 【月亮嚼成星~】
前言:今天开始我们将逐步去感受剑指offer的魅力,博主发布的每一题都是亲自刷过的,可能不是按照剑指offer的刷题顺序去刷,所以请大家不要介意,希望对大家都有帮助!!!
No.1 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
原题地址:
题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。
示例:
输入:nums = [1,2,3,4]
输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一。提示:
0 <= nums.length <= 500000 <= nums[i] <= 10000
解题思路:
考虑使用双指针,从开头和结尾向中间逼近。
1.定义一个i从左到右寻找偶数
2.定义一个j从右到左寻找奇数
3.将nums[i]和nums[j]进行互换
代码实现:
class Solution {
public int[] exchange(int[] nums) {
int i=0;
int j=nums.length-1;
while(i<j){
//找偶数
while(i<j&&nums[i]%2!=0){
i++;
}
//找奇数
while(i<j&&nums[j]%2==0){
j--;
}
//交换
int temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
return nums;
}
}运行结果:

边栏推荐
猜你喜欢
随机推荐
airflow db init 报错
我们来浅谈代码语言的魅力
一文读懂 Web 3.0 应用架构
精心整理16条MySQL使用规范,减少80%问题,推荐分享给团队
Strict feedback nonlinear systems based on event trigger preset since the immunity of finite time tracking control
Let's talk about the charm of code language
令人心动的AI综述(1)
Canonical correlation analysis of CCA calculation process
停止使用 Storyboards 和 Interface Builder
程序员如何优雅地解决线上问题?
What is the matter that programmers often say "the left hand is knuckled and the right hand is hot"?
嵌入式分享合集26
语音合成模型小抄(1)
Cholesterol-PEG-Amine,CLS-PEG-NH2,胆固醇-聚乙二醇-氨基脂两亲性脂质衍生物
Moco of Mock tools use tutorial
4、Citrix MCS云桌面无法安装todesk等软件
程序员的七夕浪漫时刻
redis的学习笔记
服务间歇性停顿问题优化|得物技术
公司招个程序员,34岁以上两年一跳的不要,开出工资以为看错了









