首页 > 代码库 > 奇偶分割数组
奇偶分割数组
奇偶分割数组
分割一个整数数组,使得奇数在前偶数在后。
样例
给定 [1, 2, 3, 4]
,返回 [1, 3, 2, 4]
。
挑战
在原数组中完成,不使用额外空间。
标签
数组 两根指针
1 class Solution { 2 public: 3 /** 4 * @param nums: a vector of integers 5 * @return: nothing 6 */ 7 void partitionArray(vector<int> &nums) { 8 // write your code here 9 int size = nums.size(); 10 int begin=0, end=size-1; 11 12 while(begin < end) { 13 // 指向奇数 14 while((nums[begin] & 1)==1) { 15 begin++; 16 } 17 // 指向偶数 18 while((nums[end] & 1)==0) { 19 end--; 20 } 21 22 if(begin < end) { 23 int temp = nums[begin]; 24 nums[begin] = nums[end]; 25 nums[end] = temp; 26 } 27 } 28 } 29 };
奇偶分割数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。