0%

剑指offer-21

题目

结果

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public int[] exchange(int[] nums) {
for (int i = 0; i < nums.length; i++) {
if (nums[i] % 2 != 0) {
moveBack(nums, i);
}
}
return nums;
}

private void moveBack(int[] nums, int index) {
for (int i = index; i > 0; i--) {
if (nums[i - 1] % 2 == 0) {
int tmp = nums[i];
nums[i] = nums[i - 1];
nums[i - 1] = tmp;
} else {
break;
}
}
}
}

复杂度

时间复杂度:小于O(n²)

空间复杂度:O(1)