链接:
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
题意:
如题
解:
基本双指针,前后夹鸡|XD
实际代码:
#include<bits/stdc++.h>
using namespace std;
vector<int> exchange(vector<int>& nums)
{vector<int>ans(nums);int lg=nums.size(),l=0,r=lg-1;while(l<r){while(l<r && ans[l]&1 ) l++;//前面找偶数 while(l<r && !(ans[r]&1) ) r--;//后面找奇数//cout<<l<<" "<<r<<endl;if(l<r) swap(ans[l],ans[r]); }return ans;
}
int main()
{vector<int> nums;int num;while(cin>>num) nums.push_back(num);vector<int>ans=exchange(nums);for(auto a:ans) cout<<a<<endl;return 0;
}
限制:
0 <= nums.length <= 50000
0 <= nums[i] <= 10000