剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
思路一:使用快慢双指针
1: i找偶数找到了,继续往下执行,找不到i++
2:j找奇数,找到了继续往下执行,找不到j–
3:最后交换
class Solution {public:vector<int> exchange(vector<int>& nums) {//双指针,i找偶数,j找奇数int i=0,j=nums.size()-1;while(i<j){//当前面一半,i是奇数i继续++,当i是偶数往后执行if(nums[i]%2==1) {i++;continue;}//当后面一半,i是偶数j--;当找到奇数往后执行if(nums[j]%2== 0){j--;continue;} //奇数偶数都找到了交换swap(nums[i], nums[j]);}return nums;}};
如果觉得《LeetCode-剑指 Offer 21. 调整数组顺序使奇数位于偶数前面》对你有帮助,请点赞、收藏,并留下你的观点哦!