当你的才华还撑不起你的野心时,你应该静下心去学习 。
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
输入:[1,2,3,4]
输出:[1,3,2,4]
解题思路
双指针:
- 定义头指针 leftleft ,尾指针 right
- left 一直往右移,直到它指向的值为偶数
- right 一直往左移, 直到它指向的值为奇数
- 交换 nums[left] 和 nums[right] .
- 重复上述操作,直到 left==right .
class Solution {
public int[] exchange(int[] nums) {
int i=0,j=0;
while(j
关注
打赏