剑指offer 14 调整数组顺序使奇数位于偶数前面
2018-08-22 19:31
295 查看
牛客网上的题目还有一个额外的要求,就是不改变数组原始的前后数据,这种可以用队列来存储,或者把前后比较变为相邻的元素比较。
这个题目,主要要考察扩展性,用func函数就实现了扩展性。只需要改func函数,就可以实现负数移动到非负数前面,被3整除的数移到不能被3整除的数的前面
class Solution { public: void reOrderArray(vector<int> &array) { int length = array.size(); if(length <= 0) return; int start = 0; int end = length - 1; while(start < end){ while(func(array[start])) start++; while(!func(array[end])) end--; if(start < end){ int tmp = array[start]; array[start] = array[end]; array[end] = tmp; } } } static bool func(int number){ if(number & 0x1) return true; else return false; } };
这个题主要是将数组前后进行比较
相关文章推荐
- 剑指offer面试题14~调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14-调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14(Java版):调整数组顺序使奇数位于偶数的前面
- 剑指offer_面试题14_调整数组顺序使奇数位于偶数前面(函数指针用法)
- 《剑指offer14——调整数组顺序使奇数位于偶数前面》
- 剑指offer-面试题14.调整数组顺序使奇数位于偶数的前面
- 《剑指Offer》面试题14:调整数组顺序使奇数位于偶数前面
- 剑指Offer学习之面试题14 :调整数组顺序使奇数位于偶数前面
- 剑指offer-题14:调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14 调整数组顺序使奇数位于偶数前面
- 【剑指offer系列】 调整数组顺序使奇数位于偶数前面___14
- 《剑指offer》面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer-面试题14:调整数组顺序使奇数位于偶数前面
- (剑指Offer)面试题14:调整数组顺序使奇数位于偶数前面
- 《剑指Offer》读书笔记---面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14——调整数组顺序使奇数位于偶数前面
- 剑指offer—编程题14(调整数组顺序使奇数位于偶数前面)
- 《剑指Offer》学习笔记--面试题14:调整数组顺序使奇数位于偶数前面
- 剑指Offer系列-面试题14:调整数组顺序使奇数位于偶数前面