题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路:两个列表,一个存遇到的奇数,一个存遇到的偶数,再放到一起,但是。。。一般最简单粗暴的解法都不行
剑指解法:牛客网加了附加条件:相对位置不变
可扩展的解法:代码分成两部分,一是判断数字应该在前半部分还是后半部分的标准,二是拆分数组的标准
拆分数组的标准:两个指针,第一个指向数组的第一个数字,只向后移动;第二个指向数组的最后一个数字,只向前移动,在两个指针相遇之前,第一个指针总是位于第二个指针的前面